oTable
数据表的行具有唯一ID。
为什么这段代码不起作用?
oTable.fnDeleteRow(
oTable.fnGetPosition(
$('#row'+id+'-tr')));
错误是:
[18:10:44.631] nNode.nodeName is undefined @ http://localhost: ... /jquery.dataTables.js:1903
谢谢!
修改
示例:
<table>
<thead>
<th>
<td>Name </td>
<td>Delete</td>
</th>
</thead>
<tbody>
<tr id="row0-tr">
<td> Row 0 </td>
<td> <Button onclick="deleteRow(0)"> - </td>
</tr>
<tr id="row1-tr">
<td> Row 1 </td>
<td> <Button onclick="deleteRow(1)"> - </td>
</tr>
<tr id="row2-tr">
<td> Row 2 </td>
<td> <Button onclick="deleteRow(2)"> - </td>
</tr>
</tbody>
</table>
编辑2:
真正的问题是:如何使用id
获取表格行?
方法fnGetPosition($('#row'+id+'-tr')
未返回行。
我在调用fngetPosition之前放了这段代码:console.log($('#row'+id+'-tr'))
和
返回:({length:1, 0:({}), context:({}), selector:"#row1-tr"})
感谢您的帮助!
答案 0 :(得分:4)
答案:
oTable.fnDeleteRow(
oTable.fnGetPosition(
document.getElementById('#row'+id+'-tr')));
答案 1 :(得分:0)
查看第1903行的jquery.dataTables源代码,在我看来$('#row'+id+'-tr')
确实返回了一个空对象。这意味着页面上不存在选择器。
您可以在console.log($('#row'+id+'-tr'))
oTable.fnDeleteRow(
来验证这一点