6

一部のレポート テーブルにテーマを設定していますが、テンプレートにアクセスできません。

これまでのところ、レポート テーブルのすべての TR 要素に「my-class」を追加するこのコードがあります。ただし、テキストが見つかったテーブル行 TR にクラスを追加したいだけです。これを行うには、もう少しコードが必要だと考えています。これまでに試したいくつかのことを次に示します。

if ($('#report-area table tr:contains("Name")', this).length > 0) {
$("#reportArea table tr", this).addClass("my-class");
}

私も試しました:

if ($('#report-area table tr:contains("Name")', this).length > 0) {
$(this).addClass("my-class");
}

...しかし、それもうまくいきませんでした。

4

4 に答える 4

12

毛羽立ちのないセレクターを使用するだけです。

$('#report-area tr:contains("Name")').addClass('my-class');

http://api.jquery.com/contains-selector/

于 2011-11-08T20:14:19.287 に答える
2
var $rows = $('#report-area table tr');

$rows.each(function(i, item) {

    $this = $(item);
    if ( $this.text() == 'Name' ) {
        $this.addClass('yourClass');
    }

});
于 2011-11-08T20:15:55.577 に答える
1

テキストが見つかったテーブル行TRにクラスを追加したいだけです。

できるよ:

$('#report-area table tr').each(function(){
  if ($.trim($(this).text()).length > 0) {
    $(this).addClass("my-class");
  }
});
于 2011-11-08T20:15:07.340 に答える
1

.filter()ここでも関数を使用できます。

$(document).ready(function () {
    $('#report-area tbody tr').filter(function () {
        return $.trim($(this).text()).length > 0;
    }).addClass("my-class");
});

少しすっきりしていて、反復する必要がある行の数が制限されているので、私はこれが好きです。

于 2011-11-08T20:38:26.453 に答える