0

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

目前我有:

$(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

4

2 回答 2

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.

于 2013-10-27T18:27:52.417 回答
1

可以跳过$.each并做:

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

如果区分大小写:

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

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

于 2013-10-27T18:28:59.610 回答