Функция Left () в Javascript или jQuery - PullRequest
19 голосов
/ 29 января 2009

Мне просто нужен очень удобный способ извлечения чисел из строки в Javascript, и я думаю об использовании jQuery, но я предпочитаю метод, который оказывается самым простым. Я запросил «левый» атрибут блока css, используя jQuery, например:

var stuff = $('#block').css("left")

Результат "вещи" равен

1008px

Я просто хочу избавиться от «px», потому что мне нужно разобрать его. Какой метод самый лучший? Если бы в Javascript была функция left (), это было бы очень просто. Спасибо

Ответы [ 6 ]

28 голосов
/ 29 января 2009

Просто сделайте parseInt("1008px", 10), он проигнорирует 'px' для вас.

23 голосов
/ 29 января 2009

Чтобы ответить на другой вопрос, вы можете добавить функцию left() во встроенный класс JavaScript String prototype, чтобы все остальные строки унаследовали его:

String.prototype.left = function(n) {
    return this.substring(0, n);
}

И как только вы включите это, вы можете сказать:

var num = "1008px".left(4);

Я добавляю такие помощники, как trim и capitalize, в базовый файл JavaScript для подобных вещей.

10 голосов
/ 29 января 2009

$ ('# block'). Offset (). Left содержит действительное значение левой позиции в виде целого числа.

3 голосов
/ 12 марта 2012

Если вы хотите получить этот номер без 'px' , попробуйте:

$('#block').position().left

Это было бы проще всего в JQuery)

3 голосов
/ 29 января 2009

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 () ...:)

3 голосов
/ 29 января 2009
parseInt(stuff);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...