[whatwg] Proposal: Adding methods like getElementById and getElementsByTagName to DocumentFragments

Kornel Lesiński kornel at geekhood.net
Sun Sep 8 11:11:28 PDT 2013


On Fri, 06 Sep 2013 13:20:01 +0100, Simon Pieters <simonp at opera.com> wrote:

>> Such a function already exists in the wild btw:  
>> http://mothereff.in/css-escapes
>
> So the use case is getting an element by id with an "untrusted" id as  
> input, in an element or document fragment as opposed to the document?

I wouldn't call it "untrusted". It's needed to correctly find arbitrary ID.

It's not too eccentric to have non-alphanumeric IDs. For example you need  
to use `[]` in form element name to receive multiple values in PHP, and it  
makes sense for form-generating libraries to use same name and ID.


I don't understand "deprecation" of getElementById().  
querySelector('#'+CSS.escapeIdent(id)) is significantly worse: less  
readable, slower (generates garbage strings) and error-prone (unescaped  
incorrect use is much easier than the correct use).

It's like deprecating indexOf(), because properly-escaped regular  
expressions can do the same.

getElementById() is a very well-known API. It's pretty convenient. It  
cannot be removed from the platform, so every browser already has to  
implement it and cost of exposing it on document fragments should be  
minimal.

Maybe it's not "cool", but keeping it away from document fragments buys  
nothing, and just makes the platform less consistent.

-- 
regards, Kornel



More information about the whatwg mailing list