IF在每个内部都不起作用()

时间:2011-06-28 10:46:22

标签: javascript jquery css if-statement

任何 if我在此函数中放入的语句拒绝工作 对于具有此类的某些元素而言,该陈述是正确的,对于某些元素,该陈述是假的,但是 all 忽略它 (这是非常剥离的功能,只是为了找到问题...)

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

这确实有效:

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

4 个答案:

答案 0 :(得分:4)

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

有效! http://jsfiddle.net/NmHb3/

答案 1 :(得分:2)

$(this).css("height")返回字符串...您需要在应用比较之前在int中解析它。

 Height = parseInt($(this).css("height"),10)
if (Height > 19) {         alert(Height);     }

答案 2 :(得分:1)

Height以字符串形式返回。实际上,"19" > 19的比较产生了false

尝试将其转换为整数:

if (parseInt(Height) > 19) {
// ...
}

答案 3 :(得分:0)

您使用的以下代码会返回附加到结果中的“px”,因此您无法将其与“19”进行比较

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

解析它,并让我们知道你是如何进行的:)

parseInt($(this).css('height'), 10);