我想知道是否有办法隐藏已识别元素的父元素。
例如:
<div>
<span id="abx">some garbage content</span>
<div>other garbage containers not having any class or id</div>
</div>
选择abx
的 AdBlockPlus 的自定义过滤器将为:
##span#abx
但是如何选择其父元素?因为我们需要隐藏已识别元素的所有兄弟姐妹。
答案 0 :(得分:5)
你不能这样做,因为CSS 3的限制。
从选择器级别4 实施relational pseudo-class: :has()之后,可以使用以下语法:
example.com##div:has(> #abx)
Current support了解此功能。
答案 1 :(得分:1)
可以使用关系伪类:has但目前不支持。
(主题选择器已从规范中删除: http://css4.rocks/selectors-level-4/subject-of-selector.php)
由于performance,此功能之前未成为CSS的一部分。
uBlock Origin中有polyfill。
答案 2 :(得分:0)
您可以使用AdblockPlus CCS选择器。
#?#div:-abp-has(span###abx)
https://adblockplus.org/development-builds/new-syntax-for-advanced-element-hiding-rules