1

jQuery dataTables を使用して新しい行を動的に追加しています。行全体のクラス属性を変更できますが、その中の列は変更できません。

以下のコードでは、css 値を赤に設定し、行全体を赤のフォントで表示しています。

 var dataTableRow = ['c1', 'c2', 'c3', 'c4', 'c5', 'c6'];
 var newrow = $('#invoicetable').dataTable().fnAddData(dataTableRow);

 // set class attribute for the newly added row 
 var nTr = $('#invoicetable').dataTable().fnSettings().aoData[newrow[0]].nTr;

 // and parse the row:
 var nTds = $('td', nTr);


 nTds.attr('class', 'TMP');
 $('.TMP').css('color', 'red');

nTds[] は行の列を含む配列として機能しますが、 nTds[0].attr('class', 'TMP'); のように単純な変更であることは認識しています。私が期待するように、0番目の列だけを赤いフォントに設定しません。

明らかに単純なものが欠けています。ガイダンスに感謝します。

4

1 に答える 1

2

nTds[0].attr()attrjQuery メソッドのようにはnTds[0]機能せず、jQuery ラッパーなしで実際の HTML 要素を返します。

jQuery 構文を使用して単一の要素をターゲットにしたい場合は、次のようにeq()を使用できます。

nTds.eq(0).attr('class', 'TMP') //or 
nTds.eq(0).addClass('TMP')
于 2013-01-27T16:43:57.067 に答える