考虑下面的html:
<div>
<div class="iwant" />
<div class="idontwant" />
</div>
<div>
<div class="iwant" />
</div>
我感兴趣的是一个选择器(用于抓取内容,所以我不能修改html),它可以选择所有与idontwant
类没有兄弟的iwant
。
发布于 2011-10-23 22:43:37
没有同级选择器可以按类匹配(或不匹配)元素。
我能想到的最接近的选择器是
.iwant:only-child
但是这个选择器意味着,无论类型或类如何,作为父div
的子元素,除了该div class="iwant"
之外,不能有任何其他元素。不过,根据HTML的结构,这可能会满足您的需求,因此值得一试。但是,如果类名对您来说是一个问题,那么可能没有太多的解决方案,因为在CSS中没有一个:only-of-class
伪类来按类过滤,而忽略其余的类。
发布于 2015-09-25 13:21:06
如果没有特定的兄弟项,就没有好的方法来确定项的目标。但是您可以使用.iwant:last-child
来定位没有后续兄弟项的项。
发布于 2011-10-23 22:45:17
没有负面的同级CSS选择器。使用同级选择器设置新样式,然后在.idontwant
重置样式
div.iwant {
/*Set CSS here*/
display: inline;
}
div.iwant ~ div.idontwant {
/*Reset CSS*/
display: block /* Default of DIV is block*/
}
https://stackoverflow.com/questions/7866784
复制相似问题