[whatwg] Use cases for Node.getElementById (was: Re: Early feedback on header association algorithm)
João Eiras
joao.eiras at gmail.com
Sun Dec 7 06:41:06 PST 2008
IMO, anyone suggesting a Node.getElementById clearly does not know very
well how getElementById is supposed to work.
There are ways to transverse a DOM tree currently, either DOM properties
and methods, XPath, selectors API and such.
Considering ids are required to be unique in the context of a single
document, implementations can, and do, implement id lookup using optimized
data structures like a hash table, which is much more performant than
doing transversal.
So if there is a special node in a document, add an id to it and get its
reference will be performant (ideally O(1)).
If the uniqueness requirement is removed, then getElementById looses its
whole meaning and should actually be removed from the specification
entirely, else then we would need more bloat like getElementById or
getElementListById and whatever.
If you really need to get the element with id in a subtree, connected or
disconnected from the main tree, one can use selectors API, DOM
transversal, XPath, etc.
So, IMO the DOM spec is just fine. What is asked for Node.getElementById
is already supported by other APIs.
More information about the whatwg
mailing list