【问题标题】:Write a ublock filter rule for a parent element based on content of a child element根据子元素的内容为父元素编写ublock过滤规则
【发布时间】:2019-07-31 20:10:05
【问题描述】:

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

class= "mp-Listing-priority"
内容是“Toppad”

这是我要隐藏的项目的 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"]

【问题讨论】:

  • @Temani Afif,这不是直接关于 CSS,而是关于 uBlock!在那里你可以根据内容选择东西......请重新考虑......
  • 我认为你可以用www.domain.com##li.mp-Listing--list-item .mp-Listing-priority:has-text(Topad) 隐藏它而不是修饰过滤器前面的域/目标,但我认为 uBlock 会忽略没有域的规则!
  • 使用 www.domain.com##li.mp-Listing--list-item .mp-Listing-priority:has-text(Topad) 隐藏列表中每个元素的 Topad 文本,而不是按要求隐藏列表元素。
  • 如果你尝试www.domain.com##li.mp-Listing--list-item:has-text(Topad)会怎样

标签: html css filter css-selectors


【解决方案1】:

答案是

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

谢谢你

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    相关资源
    最近更新 更多