3

テーブルのクエリ プラグインである DataTables を使用して、css クラスを行に設定しようとしています。

tr初期化が完了したときに、タグにクラスを設定することができました:

"fnInitComplete": function(oSettings) {
                                for (var i = 0, iLen = oSettings.aoData.length; i < iLen; i++) {
                                    oSettings.aoData[i].nTr.className = "myClass";
                                }
                            },

新しい行ごとにコールバックを設定し、trクラスatdクラスに設定したいb

クラスを追加する方法を知っているので、クラスを設定する必要があります!

"fnRowCallback": function(nRow, aaData, iDisplayIndex) {
                                console.log(aaData);
                                $('tr', nRow).addClass('a');
                                $('td:eq(0)', nRow).addClass('b');
                                $('td:eq(1)', nRow).addClass('b');
                                $('td:eq(2)', nRow).addClass('b');
                                $('td:eq(3)', nRow).addClass('b');
                                return nRow;
                            },

これが私を悩ませているものです:

$('tr', nRow).addClass('a');

trクラスをタグに設定する方法がわかりません。

4

2 に答える 2

2

ドキュメント(fnRowCallback)によると、要素nRowを表しますTR

したがって、これは次のようにする必要があります。

$(nRow).addClass('a');

特定の行 N# にクラスを追加する場合は、これを使用できます (適切なセレクターを作成するだけです)。

$("tr:eq(" + rowNumber+ ")").addClass('a');

文字列は次のようになります"tr:eq(1)"

于 2013-07-15T13:45:30.620 に答える
1

私の理解が正しければ、問題は次の行にある可能性があります。

$('tr', nRow).addClass('a');

それは書くことに等しいからです:

$(nRow).find('tr').addClass('a');

また、別の TR 内で TR を見つけることはできません (もちろん、ネストされたテーブルを使用している場合を除きますが、それについては説明しません)。

この場合、修正は次のようになります。

$(nRow).addClass('a');

幸運を!

于 2013-07-15T13:45:37.560 に答える