我想根据值更改元素的类。是否可以在循环内执行此操作?
使用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");
}
任何人都可以帮助我。
答案 0 :(得分:1)
你不应该使用&#34; toggleClass&#34;
.toggleClass(className)
描述:根据类的存在[...]
,在匹配元素集中的每个元素中添加或删除一个或多个类。
如果它存在则删除该类,如果不存在则添加它,因此要实现只有fa-level-down
和fa-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())