我正在尝试使用css3的:not()
选择器来选择某些元素,这些元素没有父元素,其中某个类作为其祖先。
标记很简单:
<div><strong><em>Please select me!</em></strong></div>
<div><strong><p><em>Please don't select me!</em></p></strong></div>
<div><p><em>Please don't select me!</em></p></div>
这是我正在使用的选择器:div *:not(p) em
。
小提琴:http://jsfiddle.net/cwxzH/
如果我过滤掉div
div
的所有孩子,为什么会选择第二个paragraphs
?反正有没有阻止这个?
到目前为止,我只在IE9和FF13中测试过。
答案 0 :(得分:2)
div *
选择div的所有后代,即strong
p
em
,然后:not(p)
删除p
,这样您就可以{ {1}}和strong
,现在em
em
只有strong
后代(em
),em
生成em
在第二个div
答案 1 :(得分:0)