我想添加一個類到表中的一些單元格,如果它們的數值大於或等於某個值。如果語句總是評估爲真的條件
這是我的代碼。 re
是添加類的閾值。
$("#battersTable td.runs").each(function() {
if($(this).html() >= re) {
$(this).addClass("elite");
}
});
然而,if
語句的條件總是似乎以評估和true
總是被添加的類!我究竟做錯了什麼?
我想添加一個類到表中的一些單元格,如果它們的數值大於或等於某個值。如果語句總是評估爲真的條件
這是我的代碼。 re
是添加類的閾值。
$("#battersTable td.runs").each(function() {
if($(this).html() >= re) {
$(this).addClass("elite");
}
});
然而,if
語句的條件總是似乎以評估和true
總是被添加的類!我究竟做錯了什麼?
聲明:
if ($(this).html() >= re)
很可能不這樣做你想要做的事。
如果這些都應該是一個數字比較的數字,那麼你需要做一個數字比較之前將字符串解析成一個數字(和重新必須爲數字太):
if (parseInt($(this).html(), 10) >= re)
一個例子re
是什麼,什麼$(this).html()
將允許我們給出更具體的答案。
謝謝!我沒有意識到this.html正在返回一個字符串感謝 – user1258430 2012-03-14 08:00:17
你能告訴我什麼是第二個參數10在這裏面parseInt? – 2012-03-14 08:00:44
如果返回的HTML是一個數值,它不應該是一個問題(雖然我也認爲這是一個好主意)。請參閱:http://jsfiddle.net/qKUSh/ – m90 2012-03-14 08:01:07
猜測:
re
是,並有可能與它沒有任何問題,這就是爲什麼你沒有表現出來如果這是正確的,.toggleClass()
應該可以幫助您:
$("#battersTable td.runs").each(function()
{
$(this).toggleClass("elite", $(this).html() >= re);
});
使用此代碼,它會工作
$("#battersTable td.runs").each(function()
{
var val = $(this).html();
if(val == 're')
{
$(this).addClass("elite");
}
});
這裏re
是一個字符串,你不能在一個字符串中使用> =。
''re''中的're' mean是什麼意思 – JaredPar 2012-03-14 07:55:26
如果語句被執行,那*表示條件是'true' *。不是'if'聲明是問題,你的情況是。 – deceze 2012-03-14 07:57:08
對不起,它是一個前面定義的變量。我已經檢查了值或this.html,並且在if語句時它們是正確的,但是無論條件如何,它都被輸入。 – user1258430 2012-03-14 07:57:47