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

Ian Hickson ian at hixie.ch
Thu Oct 10 11:41:46 PDT 2013


On Wed, 9 Oct 2013, Glenn Maynard wrote:
> On Wed, Oct 9, 2013 at 7:02 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote:
> > On 6/28/13 10:01 PM, Boris Zbarsky wrote:
> >> On 6/28/13 5:06 PM, Tab Atkins Jr. wrote:
> >>
> >>> getElementById("foo") is just querySelector("#foo")
> >>
> >> This is actually false.  For example, getElementById("foo:bar") is 
> >> just querySelector("#foo\\:bar"), which is ... nonobvious.
> >
> > And today someone asked me how to do the equivalent of 
> > getElementById("\n") with querySelector.  That one is even more 
> > non-obvious.
> 
> But it's already been suggested--by you--that we need a function to 
> CSS-escape a string, which seems to solve the that problem trivially 
> (for users).

Leaving aside the issue that "CSS-escape" is more than one operation 
depending on what kind of token you're creating, I don't think it's 
actually as trivial as you think.

   document.getElementById(id)

...becomes:

   document.querySelector('#' + escapeCSSIdent(id))

...which is a lot less pretty and understandable, especially when you 
consider that many authors are actually coming from:

   document.all[id]

...which is briefer than either, and still self-explanatory.


I feel this is a case where we're not putting authors first, but are 
instead putting spec purity first.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



More information about the whatwg mailing list