- From: Ian Hickson <ian@hixie.ch>
- Date: Thu, 10 Oct 2013 18:41:46 +0000 (UTC)
- To: Glenn Maynard <glenn@zewt.org>
- Cc: whatwg <whatwg@lists.whatwg.org>, Boris Zbarsky <bzbarsky@mit.edu>
On Wed, 9 Oct 2013, Glenn Maynard wrote: > On Wed, Oct 9, 2013 at 7:02 PM, Boris Zbarsky <bzbarsky@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. `._.-(,_..'--(,_..'`-.;.'
Received on Thursday, 10 October 2013 18:42:10 UTC