我有一张桌子,我想根据内容格式化某些数据字段。因此,例如,如果字段小于95%,则应为红色。
这是我正在使用的jquery
$(function(){
$('#ConditionalTable td:nth-child(2n - 4)').each(function(){
var Sales = $(this).text();
if (Sales > '95%') {
$(this).css('backgroundColor', '#f76e6e');
} else {
$(this).css('backgroundColor', '#99faa0');
}
});
});
它当前选择每隔一列并将其变为绿色。
但是我希望它跳过前3列(这些包含标题)并且只开始应用第4列的格式。
因此第4列将应用格式,然后是第6,第8等等。
出于某种原因,无论我的桌子上有什么价值,它都会变成绿色。所以在我的代码中,我已经说过如果销售额大于95%,它应该是绿色的,否则是红色的。但这似乎并没有发生。
答案 0 :(得分:2)
将#ConditionalTable td:nth-child(2n-4)
更改为#ConditionalTable td:nth-child(2n+4)
$(function(){
$('#ConditionalTable td:nth-child(2n + 4)').each(function(){
var Sales = parseInt($(this).text().replace('%',''),10);
if (Sales > 95) {
$(this).css('backgroundColor', '#f76e6e');
} else {
$(this).css('backgroundColor', '#99faa0');
}
});
});
n的值为0,1,2,3,.....
,在这种情况下,它会选择4,6,8,10,.....
个孩子
您无法比较代码中的%值,因此您需要将其转换为整数或浮点数然后进行比较