Как получить только числовую часть свойства CSS с помощью jQuery? - PullRequest
151 голосов
/ 09 июля 2009

Мне нужно сделать численный расчет на основе свойств CSS. Однако, когда я использую это, чтобы получить информацию:

$(this).css('marginBottom')

возвращает значение «10px». Есть ли хитрость в том, чтобы просто получить числовую часть значения, независимо от того, является ли оно px или % или em или чем-то еще?

Ответы [ 15 ]

3 голосов
/ 24 апреля 2014

Самый простой способ получить ширину элемента без единиц измерения:

target.width()

Источник: https://api.jquery.com/width/#width2

2 голосов
/ 10 августа 2016

Если это только для «px», вы также можете использовать:

$(this).css('marginBottom').slice(0, -2);
2 голосов
/ 30 июня 2015

Для улучшения принятого ответа используйте это:

Number($(this).css('marginBottom').replace(/[^-\d\.]/g, ''));
0 голосов
/ 30 сентября 2014

использование

$(this).cssUnit('marginBottom');

, которые возвращают массив. первый индекс возвращает значение нижней границы поля (пример 20 для 20 пикселей) а второй индекс возвращает единицу основания поля (пример px для 20px)

0 голосов
/ 09 июля 2009

Следует удалить единицы при сохранении десятичных дробей.

var regExp = new RegExp("[a-z][A-Z]","g");
parseFloat($(this).css("property").replace(regExp, ""));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...