我想知道是否有一种方法可以隐藏已标识元素的父元素。例如:
<div> <span id="abx">some garbage content</span> <div>other garbage containers not having any class or id</div> </div>
字符串
AdBlockPlus选择abx的自定义过滤器为:
abx
##span#abx
型但是如何选择它的父元素呢?因为我们需要隐藏标识元素的所有兄弟。
qjp7pelc1#
你不能这样做,因为CSS 3的限制。
在实现关系伪类之后,将有可能::has()来自 Selectors Level 4,语法如下:
example.com##div:has(> #abx)
字符串当前支持此功能。
q5iwbnjs2#
您可以使用AdblockPlus CSS选择器。
#?#div:-abp-has(span###abx)
字符串https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#elemhide-emulation
bxgwgixi3#
可以使用关系伪类:has,但目前不支持。
(从规范中删除主题选择器:http://css4.rocks/selectors-level-4/subject-of-selector.php)由于performance的原因,此功能以前没有成为CSS的一部分。uBlock Origin中有polyfill。
3条答案
按热度按时间qjp7pelc1#
你不能这样做,因为CSS 3的限制。
在实现关系伪类之后,将有可能::has()来自 Selectors Level 4,语法如下:
字符串
当前支持此功能。
q5iwbnjs2#
您可以使用AdblockPlus CSS选择器。
字符串
https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#elemhide-emulation
bxgwgixi3#
可以使用关系伪类:has,但目前不支持。
(从规范中删除主题选择器:http://css4.rocks/selectors-level-4/subject-of-selector.php)
由于performance的原因,此功能以前没有成为CSS的一部分。
uBlock Origin中有polyfill。