javascript - 在 Jquery 中选择 nth-child 并且条件格式不起作用

标签 javascript jquery html css

我有一个表格,我想根据其内容格式化某些数据字段。因此,例如,如果一个字段小于 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% 它应该是绿色的,否则是红色的。但这似乎并没有发生。

最佳答案

#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,.... . child

不能像代码中那样比较%的值,需要先转成整数或者 float 再比较

关于javascript - 在 Jquery 中选择 nth-child 并且条件格式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21627893/

相关文章:

javascript - 如何在自定义javascript对象中设置标签onclick?

jquery - Asp.net Ajax 删除记录在生产服务器上不起作用

javascript - JQuery 语法解释

javascript - 滚动 y 但固定到 x - ios 中的错误

css - 无法修复 iframe 高度

php - !important 相邻 <td> 的边框颜色

javascript - v-model 处于文本区域/编辑状态

javascript - 如何在浏览器选项卡未激活时保持 JavaScript 运行

javascript - 三JS : Getting the rotation so one vector3 will face another vector3

javascript - 防止未经授权访问 JavaScript 文件