ЕСЛИ не работает внутри каждого () - PullRequest
0 голосов
/ 28 июня 2011

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

$(".bought").each(function(index) {
Height = $(this).css("height")
    if (Height > 19) {
        alert(Height);
    }
});

это работает:

$(".bought").each(function(index) {
Height = $(this).css("height")
    alert(Height);
});

Ответы [ 4 ]

4 голосов
/ 28 июня 2011
$(".bought").each(function(index) {
    thisHeight = $(this).height()
    if (thisHeight > 19) {
        alert(thisHeight);
    }
});

Это работает! http://jsfiddle.net/NmHb3/

2 голосов
/ 28 июня 2011

$(this).css("height") возвращает строку ... вам нужно проанализировать это в int перед применением сравнения ..

 Height = parseInt($(this).css("height"),10)
if (Height > 19) {         alert(Height);     }
1 голос
/ 28 июня 2011

Height возвращается в виде строки. Сравнение на самом деле "19" > 19, что дает false.

Попробуйте преобразовать его в целое число:

if (parseInt(Height) > 19) {
// ...
}
0 голосов
/ 28 июня 2011

Код, который вы использовали ниже, возвращает 'px', добавленный к результату, поэтому вы не можете сравнить его с '19'

Height = $(this).css("height")

Разбери это так и дай нам знать, как ты поживаешь :)

parseInt($(this).css('height'), 10);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...