使用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)。这很棒,除了我没有几十个边缘案例浏览器。
所以,我之前正在寻找那些曾经走过这条路的人的意见。它是完全可靠的跨浏览器,理想情况下它可以在任何地方记录吗?
答案 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]