看完这段教学 你就明白为什么多出那么多 无效 子节点
<!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 h=document.getElementsByTagName("div")[0].childNodes;
for(var i=0;i<h.length;i++){
document.write(h[i].nodeName+"<br />");
document.write(h[i].nodeValue+"<br />");
document.write(h[i].nodeType+"<br /><br />");
}
</script>
</body>
</html>
这样的话就符合你想象中的了吧 因为之前空白的也算作空白节点,nodeName为#text ,nodeValue就是一段空格,nodeType为3
document.getElemetByTagName("p")[0].childNodes[0].nodeValue