[英]Delete row using Jquery Datatable Plugin by Id
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"})
感謝幫助!
答案:
oTable.fnDeleteRow(
oTable.fnGetPosition(
document.getElementById('#row'+id+'-tr')));
查看第1903行的jquery.dataTables源代碼,在我看來$('#row'+id+'-tr')
確實在你的情況下返回一個空對象。 這意味着頁面上不存在選擇器。
您可以通過在oTable.fnDeleteRow(
之前放置console.log($('#row'+id+'-tr'))
來驗證這oTable.fnDeleteRow(
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.