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