On 25/11/11 5:53 AM, Yehuda Katz wrote:

    So, the rules end up being very simple.  find always evaluates against
    the whole document.  If one of the selectors starts with a combinator
    or doesn't contain a ":scope" pseudoclass somewhere in it, ":scope" is
    prepended to it.  That's it.  With this, we make the most common cases
    (searching descendants/siblings) easy, while making the global case
    *also* easy.  There's a bit of intent-guessing when :scope is used in
    an indirect way, but I believe it's better to err on the side of
    simplicity and consistency there.


I am ok with this, but I am also ok with "find always evaluates against the whole document. If one of the selectors doesn't contain a ":scope" pseudoclass somewhere in it, ":scope" is prepended to it."

I also thing we agreed that filtering selectors, in the case of implicit scope, are applied on the :scope, not as a descendent of the :scope.

As I said above, since the cases of starting with a combinator are nonsense queries (correct me if I'm missing something obvious), we can simplify the rules even more and eliminate the case of "starting with a combinator *and* has a :scope"

Are you AGAINST findAll() always implying :scope at the start of each selector in a selector list, and leaving explicit :scope to querySelectorAll()?

If so, why?

Sean

Reply via email to