childNodes
获取子节点个数,栗子:
<script>
window.onload = function() {
var oUl = document.getElementById('ul');
alert(oUl.childNodes.length);
};
</script>
<body>
<ul id="ul">
<li></li>
<li></li>
</ul>
</body>
输出结果是 5
按理说ul只有两个li,即只有两个子节点,为什么会输出5呢?
原因是因为 把标签间的空格也算进去了,空格算是文本节点,它的nodeType值为3。节点的nodeType值可参考JS高级程序设计第4版第402页
但在IE9以下的版本输出的是2
算的是第一层子节点,不往里算(emmm,就是孙子节点不算)
<ul>
<li>
<span></span>
</li>
<li></li>
</ul>
ul的元素子节点还是2
children
还有个与childNodes相似的方法,”children“ 最大的特点是:它只包括元素不包括文本
nodeType
判断节点的类型,返回节点类型的值
parentNode
获取当前元素的父节点
offsetParent
获取相对定位的父节点