JQuery if td value<没有什么改变表行的颜色

时间:2015-01-30 11:03:29

标签: javascript jquery css

我有一个jquery片段几乎可以满足要求,我希望行改变颜色而不仅仅是具有值的单元格..任何人都可以帮助我们试着好几个小时

    $(document).ready(function() {
$('.nr2').filter(function(){
return $.trim($(this).text()) > '0'
}).css('background-color', '#24AD36');

});

fork on fiddle

2 个答案:

答案 0 :(得分:2)

只需在parent()之后链接filter()方法即可获得行

$(document).ready(function () {
    $('.nr2').filter(function () {
        return +($.trim($(this).text())) > 0
    }).parent().css('background-color', '#24AD36');

});

示例:http://jsfiddle.net/dpyu0mhq/1/


作为旁注,我建议设置一个类而不是css属性,只是为了避免javascript的样式并使代码的维护更容易,例如。

的Javascript

.parent().addClass('highlight');

CSS

.highlight {
  background-color: #24AD36
}

答案 1 :(得分:0)

您可以使用closest()查找最近的tr元素。我还建议您将td值转换为整数以与0进行比较。使用大于字符串可以导致一些有趣的结果。

$('.nr2').filter(function () {
    return parseInt($.trim($(this).text()), 10) > 0
}).closest('tr').css('background-color', '#24AD36');

Updated fiddle