如何通过 JavaScript 从页面中删除链接?
我想为我的浏览器(Opera、Chromium)编写一个用户脚本,用于删除包含预定义关键字的链接。例如,当 foo
属于黑名单时,链接 bar
应该从页面中消失。
如何从页面中删除重复的链接,除了首先展示了如何获取和过滤站点,但我想直接通过用户脚本来执行此操作。有什么想法如何在每个页面加载上应用过滤器吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
获取document.links集合。如果其任何 .href 属性与您的黑名单匹配,请将其 style.display 属性设置为 'none'。
例如,
编辑
删除重复链接是一个类似的练习。首先将链接 HTMLCollection 转换为普通数组,然后在迭代它们时使用它们的 href 作为对象的创建属性。如果 href 已经是属性,请使用上述方法或 link.parentNode.removeChild(link) 隐藏它。
Get the document.links collection. If any of their .href properties match your blacklist, set their style.display property to 'none'.
e.g.
Edit
To remove duplicate links is a similar exercise. First convert the links HTMLCollection to a plain array, then as you iterate over them use their hrefs as create properties of an object. If the href is already a property, hide it using the above method or link.parentNode.removeChild(link).
您可以使用 XPATH 及其 contains() 函数 来匹配通过 文档.评估。
深入了解 Greasemonkey 有一个 使用 XPATH 选择并迭代节点。
You could use XPATH and its contains() function to match the links via document.evaluate.
Dive Into Greasemonkey has an exampl eof selecting and iterating over nodes using XPATH.
你可以使用这样的东西
You could use something like this