开发者

Is there guaranteed ordering on getElementsByName()?

开发者 https://www.devze.com 2023-01-04 04:17 出处:网络
Are the values returned by Javascript\'s getElement开发者_如何学GosByName(...) guaranteed to be in the same order that they appear in the DOM?with getElementsByName(name), the name is required, and th

Are the values returned by Javascript's getElement开发者_如何学GosByName(...) guaranteed to be in the same order that they appear in the DOM?


with getElementsByName(name), the name is required, and thus the name order is irrelevent.

EDIT: I checked the specification and see nothing that would guarantee the order but I have never seen it OUT of order myself.

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


Since the W3C DOM spec says the following for the similar getElementsbyTagName

getElementsByTagName Returns a NodeList of all the Elements in document order with a given tag name and are contained in the document.Blockquote

I can only assume that getElementsByName will also use document order in most implementations.


getElementsByName should return the order of elements in which they were found in the DOM.


If I read the sentence from this which says

"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. [...]"

I don't think this has to be true, if browsers behave differently. I guess it's the easiest way to add all the elements found to a list and then directly return it. It's rather a reason for efficiency that it's returned in the DOM-order. Actually, I never would rely on it.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号