如果值大于定义值,则更改类

时间:2015-09-29 13:07:17

标签: javascript jquery

我想根据值更改元素的类。是否可以在循环内执行此操作?

使用Javascript:

$.post(url, filteredObject, function (data2) {
    for (i = 0; i < 7; i++) {
        $('#ty' + (i + 1).toString()).text(numberWithCommas(data2[i].TY));
        $('#sdly' + (i + 1).toString()).text(numberWithCommas(data2[i].SDLY));
        $('#fcst' + (i + 1).toString()).text(numberWithCommas(data2[i].FCSTYTD));
    }
});

我尝试过这样的事情,但没有工作。

var textvalue = parseInt($('#ty' + (i + 1).toString()).text)
if (textvalue < 0) {
    $('#ty' + (i + 1).toString()).toggleClass("fa fa-level-down");
}
else {
    $('#ty' + (i + 1).toString()).toggleClass("fa fa-level-up");
}

任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

你不应该使用&#34; toggleClass&#34;

  

.toggleClass(className)

     

描述:根据类的存在[...]

,在匹配元素集中的每个元素中添加或删除一个或多个类。

如果它存在则删除该类,如果不存在则添加它,因此要实现只有fa-level-downfa-level-up之一,您应该使用.addClass( className )和{{1 }}

.removeClass( className )

答案 1 :(得分:1)

您在.text之后缺少括号:

var textvalue = parseInt($('#ty' + (i + 1).toString()).text)

您应该使用.text()来获取jQuery对象的文本。

var textvalue = parseInt($('#ty' + (i + 1).toString()).text())