Как я могу определить, имеет ли свойство css, например width ex: width:100%
, px или%, назначенные ему.
в хром, например, если у меня есть width:250px;
, и я делаю $('div').width()
я get 250
, тогда как если я использую процент, я просто получаю ширину в пикселях для процента в зависимости от разрешения экрана.
Как определить, имеет ли ширина px или%
Ответ 1
Это должно работать.
var value = $('#id').get(0).style.width;
var hasPx = value.indexOf('px') >= 0;
var hasPct = value.indexOf('%') >= 0;
Ответ 2
Если по свойству "css" вы имеете в виду правило css, а не свойство встроенного стиля, установленное непосредственно в элементе, нет быстрого способа его получить. Вам придется:
-
Запросить все объявления правил css
-
Прокрутите каждое правило css и проверьте, соответствует ли элемент и вставьте его в массив
-
Прокрутите список кандидатов и возьмите последнее значение ширины, или последнее значение ширины с! important
Если вы имеете в виду встроенный стиль, это настолько тривиально, что трудно понять, почему в вопросе было так много upvotes:
element.style.width
и проверьте, есть ли px или% there
edit: вот неполная демонстрация для запроса правила CSS:
протестирован в google chrome и firefox
Ответ 3
Вы можете использовать .style.cssText
, который содержит фактический код CSS:
$("<div style='width:50px'>").get(0).style.cssText // "width: 50px; "
$("<div style='width:50% '>").get(0).style.cssText // "width: 50%; "