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