css ABP自定义过滤器-如何选择/隐藏父元素

oxalkeyp  于 2023-08-09  发布在  其他
关注(0)|答案(3)|浏览(113)

我想知道是否有一种方法可以隐藏已标识元素的父元素。
例如:

<div>
<span id="abx">some garbage content</span>
<div>other garbage containers not having any class or id</div>
</div>

字符串

AdBlockPlus选择abx的自定义过滤器为:

##span#abx


但是如何选择它的父元素呢?因为我们需要隐藏标识元素的所有兄弟。

qjp7pelc

qjp7pelc1#

你不能这样做,因为CSS 3的限制。

在实现关系伪类之后,将有可能::has()来自 Selectors Level 4,语法如下:

example.com##div:has(> #abx)

字符串
当前支持此功能。

q5iwbnjs

q5iwbnjs2#

您可以使用AdblockPlus CSS选择器。

#?#div:-abp-has(span###abx)

字符串
https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#elemhide-emulation

bxgwgixi

bxgwgixi3#

可以使用关系伪类:has,但目前不支持。

(从规范中删除主题选择器:http://css4.rocks/selectors-level-4/subject-of-selector.php
由于performance的原因,此功能以前没有成为CSS的一部分。
uBlock Origin中有polyfill。

相关问题