是通过[]可靠和(理想情况下)记录到NodeList的索引吗?

时间:2012-02-09 16:14:00

标签: javascript dom nodelist

使用NodeList而不是[]完全可靠的跨浏览器索引为item(),并且(单独)是否记录在任何地方? E.g:

var firstDiv = document.getElementsByTagName('div')[0];

据我所知,NodeList界面的最新定义是here in DOM3,JavaScript绑定的最新文档位于DOM2 version 。我没有看到通过NodeList[]索引到{{1}}的任何内容,但我看到人们一直这样做(我自己经常这样做,但总是有点紧张)。

所以我tried it out在一堆浏览器上,包括IE6,它在我尝试的任何地方都是冠军(IE6,IE9,Chrome 16,Firefox 10,Firefox 5,Opera 11,Safari 5,Konqueror 4.7) ,Epiphany 3.0,Midori 0.4)。这很棒,除了我没有几十个边缘案例浏览器。

所以,我之前正在寻找那些曾经走过这条路的人的意见。它是完全可靠的跨浏览器,理想情况下它可以在任何地方记录吗?

2 个答案:

答案 0 :(得分:3)

来自one of your links (我的重点)

  

NodeList中的项目可通过整数索引访问,从0开始。

来自another link

  

NodeList对象具有以下方法:

     

项(索引)   此方法返回Node对象。   index参数的类型为Number。   注意:也可以使用方括号表示法(例如obj [1])取消引用此对象。   使用整数索引取消引用等同于使用该方法调用item方法   索引。

所以是的,记录在案。而且可靠。

答案 1 :(得分:1)

是。它绝对可靠地跨浏览器。无论是那个,还是我写过的大部分JavaScript都打破了,jQuery也是如此:)

至少某些文档,请参阅Mozilla Developer Network JavaScript reference

  

按索引返回列表中的项目,如果超出范围则返回null等同于nodeList[idx]