我有一个向表中添加新行的功能。然后我想将表的选定行更改为添加的新行。所以我从当前选定的行中删除了所选的类。
$('#regressionListTable tr.selected').removeClass('selected');
我添加了行...
var rowAdded = analysisTable.row.add(data.analysis).draw(false);
然后我将'selected'类添加到此添加的行中。
$(rowAdded).addClass('selected');
但由于某种原因,最后一步不起作用,我添加一行后,我的桌子上的行没有突出显示。
有谁知道为什么会这样?
感谢。
答案 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()