首页 > 解决方案 > 查找 HTML 类并根据文本删除它?

问题描述

编辑:我想我会在顶部添加我这样做的原因是 Reddit Enhancement Suite 的过滤器对我不起作用,而且我不需要它的所有其他功能。

我正在尝试为我自己的个人用途创建一个浏览器扩展,以过滤我不想看到的 reddit 上的 subreddit。我已经做了很多谷歌搜索,并达到了可以删除带有 div id 的帖子的地步,如下所示:

var element = document.querySelector("div.divid");
element.parentElement.removeChild(element);

所以这适用于删除帖子,但是每个 div id 对于每个帖子都是唯一的。因此,从特定的 subreddit 中连续删除帖子是行不通的。

如果我在封装帖子的 div 内部进行挖掘,则查看页面的 html,我可以找到:

<a class="class_name" data-click-id="subreddit" href="/r/subredditname/">r/subredditname</a>

我试过看看我是否可以按类名删除?同样,每个帖子的类名都是唯一的。所以我想知道,因为我似乎找不到正确的措辞来找到答案,我可以使用上面的代码来做:

var element = document.querySelectorAll("r/subredditname");
element.parentElement.removeChild(element);

或者类似的东西来删除整个帖子,仅基于显示帖子中子目录名称的类中的文本?

标签: javascripthtml

解决方案


好吧,我想通了!感谢 Rene 的评论,我将其修改为:

var element = document.querySelector("a[href*='/r/subredditname/']");
element.parentElement.parentElement.parentElement.remove();

这主要用于删除整个帖子。它留下了一条小线,但它有效。我将不得不修改它,因为垃圾邮件 parentElement 似乎不是最漂亮的解决方案,但谢谢!


推荐阅读