Re: [SelectorsAPI] Thoughts on querySelectorAll

John Resig wrote:
>> But that would mean that .querySelectorAll(":root div") would never 
>> match anything since :root (or :scope) could only match the element 
>> itself, which of course isn't a descendant.
> 
> I was under the impression that within the context of a DOM element :root would be equivalent to the root element itself - not the document element.

Right

> Thus these two would be equivalent (returning the same sets of elements):
> 
>   document.getElementById("test").getElementsByTagName("div")
>   document.getElementById("test").querySelectorAll(":root div")
> 
> If that's not the case then disregard all of the previous ":root is a good solution" talk, because that's what I was basing this on.

There are two contrary statements in your proposal.

":root" matches the root element (i.e. the "test" element in your example)

All simple selectors has to match a descendant of the element on which 
.querySelectorAll was called.

Clearly the "test" node isn't a descendant of itself, so the ":root" 
part couldn't match anything.

/ Jonas

Received on Wednesday, 30 April 2008 22:40:56 UTC