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 に答える