拉斐罗
2016-09-08 15:34
<div>
<p>javascript</p>
<div>jQuery</div>
<h5>PHP</h5>
</div>
<script type="text/javascript">
var x=document.getElementsByTagName("div")[0].childNodes;
document.write("div子节点个数"+x.length+"<br />");
document.write("节点类型:"+x[0].nodeType+"<br />");
document.write("节点值:"+x[0].nodeValue+"<br />");
for (i=0;i<=x.length;i++)
{
var s=document.getElementsByTagName("div")[i].childNodes;
document.write("div子节点个数"+x.length+"<br />");
document.write("节点类型:"+x[i].nodeType+"<br />");
document.write("节点值型:"+x[i].nodeValue+"<br />");
}
document.write("节点类型:"+x[0].nodeType+"<br />");
document.write("节点值:"+x[0].nodeValue+"<br />");
你的这两句代码是第一个子节点的类型和第一个子节点的值;第一个div的第一个子节点是#text即javascript
我猜你想要输出的是:
<p>javascript</p>
<div>jQuery</div>
<h5>PHP</h5>
这些子节点的信息,那么这一句:
var s=document.getElementsByTagName("div")[i].childNodes;
是多余的
当你根据TagName获取节点时后面有个坐标[0]就表示第一个div,[1]表示第二个div
【var x=document.getElementsByTagName("div")[0].childNodes;】
不明白意思,支持一下
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题
回答 2
回答 4