javascript - 查找 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);
或者类似的东西来删除整个帖子,仅基于显示帖子中子目录名称的类中的文本?
解决方案
好吧,我想通了!感谢 Rene 的评论,我将其修改为:
var element = document.querySelector("a[href*='/r/subredditname/']");
element.parentElement.parentElement.parentElement.remove();
这主要用于删除整个帖子。它留下了一条小线,但它有效。我将不得不修改它,因为垃圾邮件 parentElement 似乎不是最漂亮的解决方案,但谢谢!
推荐阅读
- mysql - 如何修复 #2014 - 命令不同步;从控制台运行存储过程
- shell - 卡在 [: 参数太多
- php - Sami API 文档生成器更新错误:“'/' 目录不存在 ('/')”
- react-native - 在 React Native 中调试(用户界面)的最佳方法是什么?
- c++ - 简单的指针问题(我不知道为什么我无法给出确切的解释)
- audio - imx7d 开发板上的 I2S 支持
- bash - 是否可以在 bash 中比较包含格式为“2019-04-16T13:65:00.7567981Z”的日期的变量?
- spring-boot - 如何让 Spring Boot 在浏览器中显示 Thymeleaf 解析错误
- php - 如何使用 PHP 在隐藏输入中包含 CSS 链接
- laravel - Laravel 5.5 处理失败的作业