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

为什么这里加了一个0

http://img1.sycdn.imooc.com//5791cee500010e6c05630357.jpg

var x=document.getElementsByTagName("ul")[0] 得到数组的第一个元素,这里的ul只有一个,不像联系里面是两个div,为什么获取的x还是一个集合,一个ul下所有li的集合?毕竟var x=document.getElementsByTagName("ul")[0]就是得到第一个li啊?


正在回答

4 回答

我觉得是因为你如果不加[0],此时表示的是一个“数组”,虽然这个“数组”可能只有一个元素,但是还是“数组”啊!数组是没有childNodes这个属性的。只有你加上[0],才会代表这是一个节点,节点自然可以有childNodes属性~

0 回复 有任何疑惑可以回复我~

有人已经解释了,[0]应该是body中第一次出现的标签。例如("div")[0]就是取的第一次出现的div标签,而body中可能有很多的div 标签。

1 回复 有任何疑惑可以回复我~

获取ul下的子节点,加0表示这个数组中的的一个元素,不是代表整个数组,所以才能获取子节点,拙见。

0 回复 有任何疑惑可以回复我~

var x=document.getElementsByTagName("ul")得到的事document下的所有的ul,而var x=document.getElementsByTagName("ul")[0]是至获取到的第一个ul,而并不是第一个li

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这里加了一个0

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信