我在页面上有一个如下所示的元素:
<a data-mytype="myvalue" href="http://example.com/promo/page">...</a>
此元素被以下ABP规则隐藏(存在于我使用的其中一个过滤器订阅中):
##[href*="/promo"]
如何编写白名单规则,以排除Adblock Plus根据特定属性/值对隐藏该元素 - 例如data-mytype="myvalue"
?
我已经检查了Writing Adblock Plus filters和Adblock Plus filters explained页面,但我还没想出如何(成功)根据指定的属性编写过滤器。
这两个页面都提到了标准的CSS选择器应该可以工作,但这似乎不起作用:
@@a[data-mytype="myvalue"]
我也尝试了以下内容:
#@#[href*="/promo"][data-mytype="myvalue"]
我错过了什么?
注意:我不想要一个只取消##[href*="/promo"]
的规则,我正在寻找一个仅根据特定属性/值对将元素列入白名单的规则。
编辑(2016-03-17):澄清了我的问题。
答案 0 :(得分:2)
首先禁用现有规则:
#@#[href*="/promo"]
请注意,选择器必须相同,否则元素隐藏异常不会适用。然后,您可以添加自己的规则,该规则将考虑data-mytype
属性:
##[href*="/promo"]:not([data-mytype="myvalue"])
这两个规则的组合应该具有您想要的效果。供参考::not() CSS pseudo-class
答案 1 :(得分:0)
###yourdiv
#@##yourdiv
##.yourclass
#@#.yourclass
可以禁用#@#[data-mytype="myvalue"]
规则
在您的情况下:{{1}}