2011-01-17 3 views
1

Здравствуйте, я хочу сделать следующее:JQuery, как сравнить два значения CSS

if ($(this).height() == $(this).css('max-height')) {} 

Проблема заключается в том, что выходы: console.log ($ (это) .height() + '' + $ (это) .css («макс высота»))

как:

140 140px 

Любые идеи о том, как нормализовать это без взлома или добавлений сумасшедший количества кода?

благодаря

+0

За исключением получения подстроку и разобрать его как межд? Нет подсказки. – Marnix

ответ

5

http://api.jquery.com/height/

Разница между .css ('высота') и .height() является то, что последний возвращает блок меньше значения пикселя (для пример, 400), в то время как первый возвращает значение с неизменными единицами (например, 400 пикселей). Метод .height() рекомендуется, когда высота элемента должна использоваться в математическом вычислении.

Таким образом, это должно работать:

if ($(this).css('height') == $(this).css('max-height')) {}

+0

магический. Спасибо, сэр – AnApprentice

0
if (($(this).height() + 'px') == $(this).css('max-height')) {} 

.height() Обратите внимание, что получает расчетную высоту, а не значение CSS.

1

Легко как ад:

if(($(this).height() + "px") == etc… 
-1

Это работало лучше для меня:

if ($(this).height() == parseInt($(this).css('max-height'))) {} 
Смежные вопросы