Javascript的getElementsByName(...)返回的值是否保证与它们在DOM中出现的顺序相同?
答案 0 :(得分:2)
getElementsByName(name),
名称是必需的,因此名称顺序是无关紧要的。
规格:http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-71555259
答案 1 :(得分:2)
由于W3C DOM spec对类似的getElementsbyTagName
说了以下内容的getElementsByTagName 以文档顺序返回具有给定标记名称的所有元素的NodeList,并包含在document.Blockquote
中
我只能假设getElementsByName在大多数实现中也会使用文档顺序。
答案 2 :(得分:0)
getElementsByName应该返回在DOM中找到它们的元素的顺序。
答案 3 :(得分:0)
如果我阅读this中的句子
"The getElementsByName method works differently in different browsers. In Internet Explorer and Opera, it searches and returns the elements matched by id *and* name attributes. [...]"
如果浏览器的行为不同,我认为这不是真的。我想这是将找到的所有元素添加到列表然后直接返回它的最简单方法。它是以DOM顺序返回的效率的原因。实际上,我从不会依赖它。