基于值的样式表行(jquery)

时间:2013-10-27 18:26:07

标签: jquery html css

我无法根据行值设置表格行的样式。

目前我有:

$(document).ready(function () {
            $(".bulkGridClass").find("td").each(function () {               
               $(this).css("color", "Red");               
            });
        });

但我需要这样的东西:

    $(document).ready(function () {
        $(".bulkGridClass").find("td").each(function () {               
           // IF TD CONTAINS TEXT "File" THEN add color red
           $(this).css("color", "Red");               
        });
    });

我试过用这样的东西:

    $(this).contains("File")

但这显示我$(this)没有contains

2 个答案:

答案 0 :(得分:1)

text()函数将返回节点的文本。您可以将其与indexOf()结合使用,以检查您要查找的字符串:

$(document).ready(function () {
    $(".bulkGridClass").find("td").each(function () {               
       if ($(this).text().indexOf('File') > -1)
           $(this).css("color", "Red");               
    });
});

另一个(可能更好)选项是使用:contains()选择器:

$(document).ready(function () {
    $('.bulkGridClass td:contains("File")').css("color", "Red");               
});

请注意,:contains()区分大小写,因此File != file

答案 1 :(得分:1)

可以跳过$.each,然后执行:

$(".bulkGridClass td:contains('File')").css("color", "Red");

如果区分大小写:

$(".bulkGridClass td").filter(function(){
  return $(this).text().toLowerCase().indexOf('file') >-1;
}).css("color", "Red");

为测试用例提供一些示例标记