On 26/10/11 7:51 AM, Tab Atkins Jr. wrote:
On Tue, Oct 25, 2011 at 1:47 PM, Sean Hogan<shogu...@westnet.com.au>  wrote:
I think allowing explicit :scope in findAll() will be perpetually confusing.
I can imagine someone looking at old code like:

     e.findAll("div.foo span, div.bar :scope span")

and asking themselves "what's the rule again? If there's :scope in the
selector then there's no :scope implied? Or was that just on each single
selector? Or is :scope always implied at the start of the whole selector
list and that's why it's explicit in the second part? Dammit, why didn't we
just use querySelectorAll() if we wanted explicit :scope?"
Using :scope explicitly at the beginning of selectors is necessary if
we want a sane way to have selector lists chain off of the scoping
element.  I'm okay with the string starting with a combinator when
it's a single selector like "+ foo", but not when it's a selector list
like "+ foo, + bar".

~TJ


I didn't follow that. Why does findAll() need to support explicit :scope?

It is simpler if querySelectorAll() supports explicit :scope and findAll() doesn't.
Plus it means findAll() matches how js libs currently work.

Sean


Reply via email to