if语句的条件总是评估为true

时间:2012-03-14 07:54:40

标签: javascript jquery if-statement

我正在尝试将一个类添加到表中的几个单元格,如果它们的数值大于或等于某个值。

这是我的代码。 re是添加课程的门槛。

$("#battersTable td.runs").each(function() {
    if($(this).html() >= re) {
        $(this).addClass("elite");
    }
});

但是,if语句的条件总是似乎正在评估true,并且始终会添加该类!我做错了什么?

3 个答案:

答案 0 :(得分:1)

声明:

if ($(this).html() >= re)

可能没有做你想做的事。

如果这些数字应该是数字比较的数字,那么在进行数值比较之前,您需要将字符串解析为数字(并且re也必须是数字):

if (parseInt($(this).html(), 10) >= re)

re$(this).html()的示例将使我们能够提供更具体的答案。

答案 1 :(得分:0)

<强>猜测:

  • 您的问题是,当您再次运行此类时,不会删除类
  • 你知道re是什么,并且它没有任何问题,这就是你没有展示它的原因

如果这些是正确的, .toggleClass()可以帮助您:

$("#battersTable td.runs").each(function() 
{
    $(this).toggleClass("elite", $(this).html() >= re);
});

答案 2 :(得分:0)

使用此代码可以使用

$("#battersTable td.runs").each(function() 
{
    var val = $(this).html();
    if(val == 're')
    {
       $(this).addClass("elite");
    }
});

此处re是一个字符串,您不能在字符串中使用&gt; =。