Ответ 1
Просто выполните parseInt("1008px", 10)
, он будет игнорировать "px" для вас.
Мне просто нужен очень удобный способ извлечения чисел из строки в Javascript, и я думаю об использовании jQuery, но я предпочитаю метод, который оказывается самым простым. Я запросил атрибут "left" блока css с помощью jQuery следующим образом:
var stuff = $('#block').css("left")
Результатом "материала" является
1008px
Я просто хочу избавиться от "px", потому что мне нужно сделать parseInt. Каков наилучший метод? Если Javascript имел функцию left(), это было бы очень просто. Благодаря
Просто выполните parseInt("1008px", 10)
, он будет игнорировать "px" для вас.
Чтобы ответить на другой вопрос, вы можете добавить функцию left()
к встроенному встроенному классу String
prototype
JavaScript, чтобы все остальные строки наследовали его:
String.prototype.left = function(n) {
return this.substring(0, n);
}
И как только вы включите это, вы можете сказать:
var num = "1008px".left(4);
Я добавляю помощники, такие как trim
и capitalize
в базовый файл JavaScript для таких вещей.
$('# block'). offset(). left содержит фактическое значение левой позиции как целое число.
parseInt(stuff);
Left() здесь почти не используется, так как вам сначала нужно вычислить смещение. Однако вы могли бы использовать регулярное выражение, чтобы либо вывести номер, либо удалить недопустимые символы:
var value = "1080px";
var num = value.replace(/[^\d]+/g, '');
// or
var num = value.replace(/\D+/g, '');
// or
var num = value.match(/\d+/)[0];
То есть, если parseInt() вам недостаточно...:)
Если вы хотите иметь это число без 'px', попробуйте:
$('#block').position().left
Это было бы проще в JQuery)