var d = document.getElementsByTagName("div")[0].childNodes;
for(var i=0;i<d.length;i++)
{
document.write("节点名称:"+d[i].nodeName+"</br>");
document.write("节点类型:"+d[i].nodeType+"</br>");
document.write("节点值:"+d[i].nodeValue+"</br>");
document.write("</br>");
}
_____________
节点名称:#text
节点类型:3
节点值: javascript
节点名称:P
节点类型:1
节点值:null
节点名称:#text
节点类型:3
节点值:
节点名称:DIV
节点类型:1
节点值:null
节点名称:#text
节点类型:3
节点值:
节点名称:H5
节点类型:1
节点值:null
节点名称:#text
节点类型:3
节点值:
——————————
怎么 节点名称:#text
节点值是空的?
为什么不是依次是 javascript jQuery 和 PHP
纠正 “两个节点之间如果有空白比如</p> 和</div> 之间” 应该是 “两个节点之间如果有空白比如</p> 和<div> 之间”
也就是上一个闭合标签和下一个开始标签之间是否有空格,决定了节点元素的多和少
红色框框标注的 从上到下 从左到右 依次对应的是输出的7个结点。两个节点之间如果有空白比如</p> 和</div> 之间有空白则算一个空白节点,如果没有,则不计节点.当代码紧挨着写的时候没有空格则是如下:
4个标注的 从左往右 依次为输出的4个节点。
终于搞懂了:
<div>javascript<p>javascript</p><div>jQuery</div><h5>PHP</h5></div>
这样的结果是
节点名称:#text
节点类型:3
节点值:javascript
节点名称:P
节点类型:1
节点值:null
节点名称:DIV
节点类型:1
节点值:null
节点名称:H5
节点类型:1
节点值:null
<div> javascript <p>javascript</p> <div>jQuery</div> <h5>PHP</h5> </div>
这样的结果:
节点名称:#text
节点类型:3
节点值: javascript
节点名称:P
节点类型:1
节点值:null
节点名称:#text
节点类型:3
节点值:
节点名称:DIV
节点类型:1
节点值:null
节点名称:#text
节点类型:3
节点值:
节点名称:H5
节点类型:1
节点值:null
节点名称:#text
节点类型:3
节点值: