如何选择除了具有某些类的元素中的div之外的所有<div>
元素?
尝试:
div :not(.test div)
div:not(.test div)
但不起作用!
这是请求的HTML。
<div>
</div>
<span class="test">
<div/>
</span>
答案 0 :(得分:5)
div之后没有空格,因此:not
与它相关,那么第二个div就是一个孩子,所以不是:not
的一部分
div:not(.test) div {
/* style */
}
的
<div class="test">
<div></div>
</div>
<div>
<div></div> <!-- gets selected -->
</div>
编辑:添加标记时,正确的版本为
div :not(.test) div {
/* style */
}
的
<div>
<span class="test">
<div></div>
</span>
<span>
<div></div> <!-- gets selected -->
</span>
</div>
或
span:not(.test) div {
/* style */
}
的
<span class="test">
<div></div>
</span>
<span>
<div></div> <!-- gets selected -->
</span>
因为您没有在原始问题中提及span
,也没有指定跨度本身是否在div内。
在这种情况下,您还应该考虑在选择器中使用>
来缩小范围。