On Tue, Nov 22, 2011 at 11:38 AM, Robin Berjon <[email protected]> wrote: > On Nov 22, 2011, at 18:31 , Boris Zbarsky wrote: >> On 11/22/11 12:29 PM, Robin Berjon wrote: >>>>> d - "//div[parent::*//a]"; >>>> >>>> (d) can be done with the new subject indicator in the Selectors 4 >>>> draft: a!> div (syntax pending, but that's the general idea) >>> >>> I think that the example you show selects the<a> parent of a<div>, >>> not<div>s that have parents containing an<a>. >> >> Yes, that's what Tab's selector selects too. The '!' after the 'a' is >> important there. > > Wait, I thought I'd grasped the gist of S4 but now you're confusing me :) My > reading of Tab's selector is that it > matches the <a> in <a><div/></a>. What Martin's XPath matches is the <div> in > <section><div/><p><a/></p></section> (amongst many other variants). It's "all > div's whose parents have an a descendent".
Pretty sure that Boris misunderstood your comment. I did too, at first, since I wasn't sure which example you were referring to. ^_^ You are correct on both counts. "a! > div" matches <a> elements with a <div> child. To match the XPath selector, you need something more like "*:matches(:scope a) > div", which isn't yet a valid selector, but is roughly in line with how we want to extend :matches() in the future. ~TJ
