Re: Why is querySelector much slower?

> 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