访问子结点childNodes
访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性。
语法:
elementNode.childNodes
注意:
如果选定的节点没有子节点,则该属性返回不包含节点的 NodeList。
我们来看看下面的代码:
运行结果:
IE:
UL子节点个数:3
节点类型:1
其它浏览器:
UL子节点个数:7
节点类型:3
注意:
1. IE全系列、firefox、chrome、opera、safari兼容问题
2. 节点之间的空白符,在firefox、chrome、opera、safari浏览器是文本节点,所以IE是3,其它浏览器是7,如下图所示:
如果把代码改成这样:
<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>
运行结果:(IE和其它浏览器结果是一样的)
UL子节点个数:3
节点类型:1
demo:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<div>
javascript
<p>javascript</p>
<div>jQuery</div>
<h5>PHP</h5>
</div>
<script type="text/javascript">
var nodechild = document.getElementsByTagName("div")[0].childNodes;//获取第一个DIV的子节点。
for(var i = 0;i<nodechild.length;i++) {
document.write("第" + i+ "节点 : " + nodechild[i].nodeName + "<br/>");
document.write("第" + i+ "节点 : " + nodechild[i].nodeValue + "<br/>");
document.write("第" + i+ "节点 : " + nodechild[i].nodeType + "<br/><br/>");
}
</script>
</body>
</html>
运行结果:
javascript
javascript
jQuery
PHP
第0节点 : #text
第0节点 : javascript
第0节点 : 3
第1节点 : P
第1节点 : null
第1节点 : 1
第2节点 : #text
第2节点 :
第2节点 : 3
第3节点 : DIV
第3节点 : null
第3节点 : 1
第4节点 : #text
第4节点 :
第4节点 : 3
第5节点 : H5
第5节点 : null
第5节点 : 1
第6节点 : #text
第6节点 :
第6节点 : 3