为什么这里移除子节点的函数是这样的:
function removeChilds(obj){
var tbody=document.getElementById("table").lastChild; //注意这里,有个lastChild,我就是这里不明白,求解
var tr=obj.parentNode.parentNode;
tbody.removeChild(tr);
}
在这里,tbody的最后还加了个lastChild,可是要删除的tr行的父元素不就是<table>吗?这里加个lastChild是什么意思?
table习惯上常常把标签<tbody></tbody> 省略,但是在dom中他默认有tbody这一层,所以获取的是<tbody></tbody>里面内容,其顺序为:thead、tfoot、tbody. lastChild节点是指其父节点的最后一个节点tbody
Table 对象集合
集合描述
cells[] 返回包含表格中所有单元格的一个数组。
rows[] 返回包含表格中所有行的一个数组。
tBodies[] 返回包含表格中所有 tbody 的一个数组。
所以var tbody = document.getElementById('table').lastChild;其实是cells层。
参考http://www.w3school.com.cn/jsref/dom_obj_table.asp
lastChild 属性返回指定节点的最后一个子节点,以 Node 对象。