- From: Jonas Sicking <jonas@sicking.cc>
- Date: Wed, 30 Apr 2008 15:39:31 -0700
- To: John Resig <jresig@mozilla.com>
- CC: "L. David Baron" <dbaron@dbaron.org>, public-webapi@w3.org
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