dataTable addClass(' selected')由于某种原因无法正常工作

时间:2014-09-19 14:06:11

标签: javascript jquery datatables

我有一个向表中添加新行的功能。然后我想将表的选定行更改为添加的新行。所以我从当前选定的行中删除了所选的类。

$('#regressionListTable tr.selected').removeClass('selected');

我添加了行...

var rowAdded = analysisTable.row.add(data.analysis).draw(false);

然后我将'selected'类添加到此添加的行中。

$(rowAdded).addClass('selected');

但由于某种原因,最后一步不起作用,我添加一行后,我的桌子上的行没有突出显示。

有谁知道为什么会这样?

感谢。

3 个答案:

答案 0 :(得分:3)

.row.add()函数将返回datatable对象,.draw()函数也将返回。因此,rowAdded不是您添加的新行。

您可以在其末尾添加.node()以获取添加的行:

var rowAdded = analysisTable.row.add(data.analysis).draw(false).node();

答案 1 :(得分:1)

从doc:http://datatables.net/reference/api/row.add(),你必须使用.node函数来获取创建的节点:

var rowAdded = analysisTable.row.add(data.analysis).draw(false).node();

答案 2 :(得分:0)

您在代码中调用的绘制方法:

  

var rowAdded = analysisTable.row.add(data.analysis).draw(false);

不会返回添加的行。相反,它返回数据表对象。

您需要通过在数据表上调用 node()方法来获取添加的节点。 您的代码看起来应该更像是返回行:

var rowAdded = analysisTable.row.add(data.analysis).draw(false).node();
$(rowAdded).addClass('selected');

RE:row.add()