慕侠4489241
2016-04-19 10:47
function deleteRow(obj){ var tbody = document.getElementById('table').lastChild; var tr = obj.parentNode.parentNode; tbody.removeChild(tr); }
为什么获取tbody后面要加一个lastChild
table习惯上,我们常常把标签<tbody></tbody> 省略,但是在dom中他默认有tbody这一层,所以获取的是<tbody></tbody>里面内容,也就是
<tr>
<th>学号</td>
<td>姓名</td>
<td>操作</td>
</tr>
<tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javasript:;" >删除</a></td>
</tr>
<tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javasript:;" >删除</a></td>
</tr>
如果alert (table.nodeName);结果是TBODY.
如果把
var tbody = document.getElementById('table').lastChild;
改成:
var tbody = document.getElementById('table').firstChild;
那么
在非IE浏览器中结果是:
alert(table.nodeName)结果将是#text;
所以需要获取table的lastChild,然后作为父节点,删除子节点.
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题