如何用 css 选择器选择长度为 10 的 class

2018-05-04 10:08:45 +08:00
 shonky

最近在弄去广告操作,但基础不怎么行,基本是看网上教程弄的,按网上说的.class~div 并不能去掉广告,我就想能不能通过选择长为 10 的类来去掉广告。 求大佬指点。

5197 次点击
所在节点    CSS
52 条回复
rabbbit
2018-05-04 11:15:40 +08:00
中间的
document.querySelector('div[class^="hengfu"]').style.display = "none"
rabbbit
2018-05-04 11:21:18 +08:00
上边的,不过这样性能堪忧啊
var list = Array.prototype.slice.call(document.all)
list.forEach(
function(i){
if (i.className.length === 10) {i.parentNode.removeChild(i)}
}
)
shonky
2018-05-04 11:22:12 +08:00
@rabbbit 大佬首页弄掉了一个上面关闭图标在右方的广告,现在又出来一个关闭图标在左边的广告。也是在上方。在刷新下,又出现个在下方的广告。
Delete Link

https://i.loli.net/2018/05/04/5aebd1aba4807.png

大佬,有空在回复。不急。
谢谢大佬了。
shonky
2018-05-04 11:22:36 +08:00
@rabbbit 性能是什么意思,会卡吗
Carseason
2018-05-04 11:25:30 +08:00
我看了你要屏蔽的网站,都是用 js 生成的新元素,那么你就不要用 div 类来屏蔽,直接找出脚本把网站屏蔽掉就可以了
rabbbit
2018-05-04 11:27:12 +08:00
刷新时可能会卡吧,下边那个广告我看不到,是不是电信运行商插的.
shonky
2018-05-04 11:27:24 +08:00
@Carseason 找脚本,找到了。不会处理。
大佬,我还处于边看教程边上路的时候。
shonky
2018-05-04 11:28:09 +08:00
@rabbbit 是屏蔽了上面广告,多刷新了几次,有概率出现。大佬。
DT27
2018-05-04 11:30:03 +08:00
表示 uBlock Origin 打开这网站看不到有广告~
shonky
2018-05-04 11:30:07 +08:00
@rabbbit 又来了上面的,关闭图标位置变了。https://i.loli.net/2018/05/04/5aebd392570dc.png
shonky
2018-05-04 11:30:26 +08:00
@DT27 我姐用手机看。
Carseason
2018-05-04 11:30:52 +08:00
||metvb.com/js/gwunggou/*.js
一条 js 屏蔽就足够了,具体写法自己参考下软件的写法
shonky
2018-05-04 11:33:18 +08:00
@Carseason *代表的是 var 变量的名字吗
rabbbit
2018-05-04 11:35:56 +08:00
learnshare
2018-05-04 11:36:59 +08:00
禁用 JS
Carseason
2018-05-04 11:37:09 +08:00
@shonky 通配符
lrz0lrz
2018-05-04 12:09:32 +08:00
页面结构固定吗?
为什么不用 div:nth-child(1) 这些选择器呢?
shonky
2018-05-04 12:33:06 +08:00
@lrz0lrz 好的,试试。
shonky
2018-05-04 12:33:24 +08:00
@rabbbit 具体怎么操作呢,大佬
meszyouh
2018-05-04 13:15:53 +08:00
```
(function() {
var children = $("body").children(":not(.wrap)"),
el;
var parser = /[a-zA-Z\d]{3,}/,
reg;
var filter = function(el, reg, level, counter) {
if (level > 4) {
return;
}
el.children().each(function() {
var t = $(this);
var id = el.attr("id"),
className = el.attr("class").split(/\s+/);
if (reg.test(id)) {
counter.num++;
}
if (reg.test(className)) {
counter.num++;
}
filter(t, reg, level + 1, counter);
});
if (counter.num >= 4 && level === 1) {
el.remove();
$("head").append(
"<style>#" +
el.attr("id") +
"{position:static;height:0;transform:scale(0,0);overflow:hidden;}</style>"
);
}
};
children.each(function() {
el = $(this);
var id = el.attr("id"),
match1,
match2,
className = el.attr("class");
var counter = {
num: 0
};
match1 = id.match(parser);
match2 = className.match(parser);

if (match1 || match2) {
match1 = match1 || [""];
match2 = match2 || [""];
var str = match1[0].length > match2[0].length ? match1[0] : match2[0];
reg = new RegExp(str, "i");

filter(el, reg, 1, counter);
}
});
$('[class*="hengfu"]').remove();
})();
```
试试这个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/451986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX