<!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>
<div>
123
<p>123</p>
<div>123</div>
<h5>123</h5>
</div>
<script type="text/javascript">
var x = document.getElementsByTagName("div")[0].childNodes;
for(var i=0;i<x.length;i++){
document.write(x[i].nodeName+"<br/>");
document.write(x[i].nodeValue+"<br/>");
document.write(x[i].nodeType+"<br/>"+"<br/>");
}
document.write(x.length);
</script>
</body>
</html>
var x = document.getElementsByTagName("div")[0].childNodes;//代码中的内容
分开写是这样的:
var y=document.getElementsByTagName("div"); //这里返回的是数组
var x=y[0].childNodes;
你可以看见代码中有两个div标签,而y[0-]就是取数组中第一个元素,也就是第一个div标签
原来是加了下标[0],没有注意。看来childNodes这个属性只能针对单独的父标签使用。