为了账号安全,请及时绑定邮箱和手机立即绑定

document.getElementsByTagName("div")[0].childNodes的下标[0]是啥意思

document.getElementsByTagName("div")[0].childNodes的下标[0]是啥意思

qq_风华青春_03784766 2016-09-07 18:44:09
<div>  javascript    <p>javascript</p>  <div>jQuery</div>  <h5>PHP</h5></div><script type="text/javascript">     var node=document.getElementsByTagName("div")[0].childNodes;     document.write("div子节点个数:"+node.length+"<br />"); for(var i=0;i<node.length;i++){      document.write("节点类型:"+node[i].nodeType+"<br />");     }</script>请问以上代码获取div标签属性为啥要用[0]下标?谢谢!
查看完整描述

4 回答

已采纳
?
llwanghong

TA贡献7条经验 获得超9个赞

document.getElementsByTagName("div")[0].childNodes

所有类似 getElementsXXX 这种获取节点的方法都是返回节点的数组,从名字也可以看出,所以上面就是获取返回节点数组的第一个元素,然后得到它所有的子节点,可以和 getElementById 对比理解记忆,这个从名字可以看出,只获得一个唯一的节点。

查看完整回答
2 反对 回复 2016-09-08
  • qq_风华青春_03784766
    qq_风华青春_03784766
    我把代码修改了如下: <body> <div> javascript <p>javascript</p> <div>jQuery</div> <h5>PHP</h5> </div> <ul> <li>javascript</li> <li>jQuery</li> <li>PHP</li> </ul> <script type="text/javascript"> var node=document.getElementsByTagName("div")[1].childNodes;//获取第二个"div"标签元素的字节点 document.write("div子节点个数:"+node.length+"<br />"); for(var i=0;i<node.length;i++){ document.write("节点类型:"+node[i].nodeType+"<br />"); } 运行结果是: div子节点个数:1 节点类型:3 问题:<div>jQuery</div> 标签元素没有子节点,怎么会有返回结果。谢谢!
  • llwanghong
    llwanghong
    nodeType为3,代表这是个文本节点(textNode),即指的是jQuery,你理解的子节点可能紧局限于nodeType为1的元素节点(elementNode),可以看下节点类型,包括很多种的
  • llwanghong
    llwanghong
    还有上面我说的返回节点的数组不准确,准确来说应该是返回节点的列表,应该这些方法返回的都是nodeList,类数组,并不是真正的数组,需要通过Array.prototype.slice.call(nodeList)来转一下的
?
楼下的法拉利已经加满油

TA贡献5条经验 获得超3个赞

如果不加下标的话是获取到你script上面的所有的div元素

他们会被存放在一个数组当中,你想要调用到第一个div当然也要调取数组的第一个元素喽,所以加上了[0].

希望我的回答能够帮助到你。

查看完整回答
2 反对 回复 2016-09-07
?
摩诃迦叶

TA贡献146条经验 获得超54个赞


document.getElementsByTagName("div")获得的是所有div标签,[0]代表第一个div标签


查看完整回答
1 反对 回复 2016-09-07
?
咕咕问

TA贡献78条经验 获得超12个赞

获取的是类似于数组的存储模式        用下标显示数组中存储的数据

不是数组  数组数据不变化    但是类似于数组则会随着html结构变化而变化

查看完整回答
反对 回复 2016-09-08
  • 4 回答
  • 0 关注
  • 2336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信