2014-09-19 51 views
0

我有一个函数可以将新行添加到表中。然后,我想将表格的选定行更改为添加的新行。所以我从当前选定的行中删除选定的类。dataTable addClass('selected')由于某种原因不工作

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

我添加的行...

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

然后我的 '选择' 类添加到这个添加的行。

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

但由于某些原因最后一步不工作,我的表没有行后,我添加一行被高亮显示。

有没有人知道为什么会发生这种情况?

谢谢。

+0

这不,当鼠标悬停在数据表行被自动突出显示。然后,如果鼠标移出该行,突出显示将消失? – andrex 2014-09-19 14:08:27

回答

3

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

你可以添加.node()到它的结束,以获得添加的行:

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

谢谢,这工作完美,我明白为什么。 – OneTwo 2014-09-19 14:13:12

0

你在你的代码在这里调用Draw方法:

VAR rowAdded = analysisTable.row。添加(data.analysis).draw(假);

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

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

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

RE:row.add()

相关问题