- From: Ryosuke Niwa <rniwa@apple.com>
- Date: Mon, 27 Apr 2015 19:51:04 -0700
- To: Jonas Sicking <jonas@sicking.cc>
- Cc: Glen Huang <curvedmark@gmail.com>, public-webapps <public-webapps@w3.org>
> On Apr 27, 2015, at 7:04 PM, Jonas Sicking <jonas@sicking.cc> wrote: > > On Mon, Apr 27, 2015 at 1:57 AM, Glen Huang <curvedmark@gmail.com> wrote: >> Intuitively, querySelector('.class') only needs to find the first matching >> node, whereas getElementsByClassName('.class')[0] needs to find all matching >> nodes and then return the first. The former should be a lot quicker than the >> latter. Why that's not the case? > > I can't speak for other browsers, but Gecko-based browsers only search > the DOM until the first hit for getElementsByClassName('class')[0]. > I'm not sure why you say that it must scan for all hits. WebKit (and, AFAIK, Blink) has the same optimization. It's a very important optimization. - R. Niwa
Received on Tuesday, 28 April 2015 02:51:32 UTC