我想添加一个类到表中的一些单元格,如果它们的数值大于或等于某个值。如果语句总是评估为真的条件
这是我的代码。 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