2010-06-22 56 views

回答

2

getElementsByName(name),該名稱是必需的,因此名稱順序無關緊要。

編輯:我檢查了規範,並沒有看到任何可以保證順序,但我從來沒有見過它沒有秩序我自己。

規格:http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-71555259

+0

我想你誤解了我的問題。爲了簡潔起見,我忽略了函數的參數,但我對函數的返回值感興趣。如果多個元素具有相同的名稱,getElementsByName(name)可以返回多個元素。我擔心這些內容是否會有序。 – denaje 2010-06-22 18:34:46

0

getElementsByName應該回到它們被在DOM中元素的順序。

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效率返回的效率原因。其實,我從來不會依賴它。

2

由於W3C DOM spec說了類似的getElementsByTagName以下

的getElementsByTagName 按文檔順序返回所有的元素具有給定標記名稱的節點列表,幷包含在document.Blockquote

我只能假定getElementsByName在大多數實現中也會使用文檔順序。