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 回答