Hi, Daniel-

Daniel Glazman wrote (on 3/28/08 1:55 PM):

Boris Zbarsky wrote:

Daniel Glazman wrote:
   myFooElement.querySelector("*:nth-child(3)") does NOT work since
   there can be another 3rd child in traversal order before the
   3rd child of myFooElement.

Being devil's advocate for a sec, having a :scope pseudo-class or some such would help here, right?

  myFooElement.querySelector(":scope > :nth-child(3)")

That would require an addition to the Selectors spec and that comes
too late in the process of that spec.

Selectors API is at the same point in the process as Element Traversal, Last Call; while the official Selectors LC period is over, there's been no WG decision about publication as CR.

Since Selectors API is meant to be a more comprehensive API than Element Traversal, I would expect it to be able to deal with this more general use case Daniel mentions, and personally would prefer to increase the comprehensive functionality of that spec over Element Traversal, which is meant to be more lightweight.


I would recommend changing
the Selectors API on document.querySelector and
document.querySelectorAll to allow a second argument being a node or
null. If it's a node, then the results simulate your :scope > SELEC
above, the scope being that node and SEL being the selector passed as
the 1st argument. If it's null, well, it does what it does today.


Regards-
-Doug Schepers
W3C Team Contact, SVG, CDF, and WebAPI

Reply via email to