问答详情
源自:9-8 访问子节点childNodes

为什么这里加了一个0

http://img.mukewang.com/5791cee500010e6c05630357.jpg

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


提问者:qq_梦里_0 2016-07-22 15:52

个回答

  • fan311
    2016-07-27 18:46:42
    已采纳

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

  • qq_倒带人生_03810524
    2016-08-12 17:26:09

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

  • 慕粉3686312
    2016-08-06 01:41:16

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

  • jacsong
    2016-07-22 16:40:27

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