0

「RW」の文字列を持つ TD セルを赤のクラスにしようとしています。グリッドにはページネーションがあり、新しいコンテンツをリロードするため、.on を使用する必要があります。文字列を含む複数の TD セルが存在する可能性があるため、 each も使用する必要があります。

 $("#json-table").on("tbody tr td"){
 if ($(this).text() == 'RW').each({
 $(this).addClass('red'))};
4

4 に答える 4

2

に他の文字が存在することを気にしない場合は、セレクターtdを使用して、正しいセルに直接絞り込むことができます。:contains

$('#element_id').on('click', function() {
    $('#json-table td:contains("RW")').addClass('red');
});

element_idクリック イベント ハンドラーを割り当てたい要素の ID はどこにありますか。

于 2013-01-31T00:15:21.393 に答える
1

.filter()ここでセットを絞り込むために使用したいと思うでしょうが、それ以上の情報がなければ、どこからそれを呼び出すべきかはわかりません. jQuery 関数はコレクション全体で実行されることに注意してください。必要なものは次のとおりです。

$("#json-table tbody tr td").filter(function() {
  return $(this).text() == 'RW';
}).addClass('red');

...そして、ページネーション コードでそれを呼び出す必要があります。

編集: datatables.net を使用しているように見えるため、より完全な例は次のようになります。

$('#json-table').bind('sort filter page', function () {
  $("tbody tr td", this).filter(function() {
    return $(this).text() == 'RW';
  }).addClass('red');
});
于 2013-01-31T00:25:17.257 に答える
0

.on().each()は完全に異なります。.on() is used to attach an eventどこで.each() is used to iterate over objects or arrays.

これを試して

$("#json-table tbody tr td").each(function(){
       var $this = $(this);
    if($this.text().indexOf('RW') > -1)){
        $this.addClass('red');
    }|
});
于 2013-01-31T00:19:56.473 に答える
0

.on要素によってトリガーされるイベントの処理に使用されます。正しい使い方については、ドキュメントを参照してください。クリック イベントを処理する場合の構文を以下に示します。イベントが委任されると述べているため、使用法はこの署名と一致する必要があります。

$("#json-table").on('click', "tbody tr td", function() {
    if ( $(this).text() == 'RW') ) {
        $(this).addClass('red');
    }
});

そのままでは、無効な JS であるステートメント.eachにチェーンされていることに注意してください。すでにターゲットにしている正しい要素を参照しています。ifthis<td>

于 2013-01-31T00:23:01.827 に答える