2011-06-28 32 views
-1

この機能の中に書かれている文が動作を拒否した場合は、
文はしかしすべてはそれが
(これは非常にだけで問題を特定するための機能を剥奪された...)それぞれの内部でIFが機能しない

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

これは作業を行い無視し、いくつかのために、このクラスと偽とのいくつかの要素のために真であります:

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

'Height'値を表示するためにデバッグを試み、' if'文に到達したことがあるかどうか試してみてください。 – Giann

+0

最初のブロックの2行目に ';'がありません。これは問題ですか? – aligray

答えて

2

$(this).css("height")戻り文字列...あなたは比較を適用する前に、int型でこれを解析する必要がある。..

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

'parseInt($(this).css(" height ")、10)' –

+0

ありがとう@フェリックスは思い出させるために – Vivek

1

Heightが文字列として返されます。比較は実際には"19" > 19で、これはfalseとなります。

整数に変換してみてください。作品

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

しかし、 "" 20 "> 19'が成立します。文字列は数値に変換されます。そして、 'parseInt'に基数を渡すことを決して忘れないでください! –

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

を! http://jsfiddle.net/NmHb3/

0

あなたはあなたができるので、結果に追加戻っ「PX」」を使用している以下のコードT「19」

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

はこのようにそれを解析し、私たちはあなたが

parseInt($(this).css('height'), 10); 
:)に乗る方法を知っているようにそれを比較します
関連する問題