根据子元素的内容为父元素编写ublock过滤规则

问题描述 投票:0回答:2

我想编写一个 ublock 过滤器来隐藏具有特定类和内容的列表元素,而我不想隐藏不具有此内容的其他列表项:

class =“mp-列表-优先级”
内容是“Topad”

这是我要隐藏的项目的html代码。

<li class="mp-Listing mp-Listing--list-item ">
    <a href="" class="mp-Listing-cover-link experimentStateC"></a>
    <figure class="mp-Listing-image-container"></figure>
    <div class="mp-Listing-content">
        <div class="mp-Listing-group mp-Listing-group--main"></div>
        <div class="mp-Listing-group mp-Listing-group--aside">
            <div class="mp-Listing-group mp-Listing-group--top-block"></div>
            <div class="mp-Listing-group mp-Listing-group--bottom-block">
                <span class="mp-Listing-priority">Topad</span>
                <span class="mp-Listing-seller-link">
                    <a href="https://.../" target="_blank" rel="noopener noreferrer nofollow" class="mp-TextLink ">Visit website</a>
                </span>
            </div>
        </div>
    </div>
</li>

下面的示例都没有隐藏我想要隐藏的列表元素:

##li.mp-Listing--list-item[class="mp-Listing-priority"]
##li.mp-Listing--list-item["Topad"]
html css filter css-selectors
2个回答
5
投票

答案是

##li.mp-Listing--list-item:has-text(Topad)

谢谢你


0
投票

也许它对某人有用(我自己,例如,经常忘记这个语法并且总是在搜索中遇到这个页面)。

有一种非常有用的方法可以隐藏其类包含某些字符的元素。

##[class^="newsTicker_container"]

此水龙头很有用,因为当今许多 Web 应用程序都使用更改类后缀的 CSS 模块。

© www.soinside.com 2019 - 2024. All rights reserved.