12

我想知道是否有办法隐藏已识别元素的父元素。

例如:

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

要选择的AdBlockPlus的自定义过滤器abx将是:

##span#abx

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

4

3 回答 3

7

由于 CSS 3 的限制,您不能这样做。

实现关系伪类后将成为可能: :has()从选择器级别 4,具有以下语法:

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

当前对此功能的支持。

于 2014-01-25T12:25:45.223 回答
2

您可以使用 AdblockPlus CSS 选择器。

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

https://adblockplus.org/development-builds/new-syntax-for-advanced-element-hiding-rules

于 2020-05-20T14:48:49.473 回答
2

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

(主题选择器已从规范中删除: http: //css4.rocks/selectors-level-4/subject-of-selector.php

由于性能原因,此功能之前并未成为 CSS 的一部分。

uBlock Origin中有polyfill 。

于 2016-08-28T07:14:33.633 回答