如何用Tampermonkey移除含href="/66666"的页面div元素
用Tampermonkey移除包含href="/66666"的a标签的父div元素
你之前用document.getElementsByName没效果很正常——这个方法是专门查找带name属性的元素的,而你目标里的a标签根本没有name属性,自然找不到。
直接用CSS选择器定位更靠谱,下面是可直接用的Tampermonkey脚本:
// ==UserScript== // @name 移除指定href的父div // @namespace http://tampermonkey.net/ // @version 0.1 // @description 移除包含href="/66666"的a标签的父div元素 // @author Your Name // @match *://*/* // 替换成你要操作的页面URL,比如https://example.com/* // @grant none // ==/UserScript== (function() { 'use strict'; // 定义移除目标元素的函数 function removeTargetDivs() { // 精准定位所有href="/66666"的a标签 const targetLinks = document.querySelectorAll('a[href="/66666"]'); targetLinks.forEach(link => { // 获取a标签的直接父div(对应你提供的示例结构) const parentDiv = link.parentElement; if (parentDiv && parentDiv.tagName === 'DIV') { parentDiv.remove(); } }); } // 页面加载完成后先执行一次 window.addEventListener('load', removeTargetDivs); // 适配动态加载内容:监听页面节点变化,实时移除新生成的目标元素 const observer = new MutationObserver((mutations) => { mutations.forEach(mutation => { if (mutation.addedNodes.length > 0) { removeTargetDivs(); } }); }); // 监听整个页面的节点变化 observer.observe(document.body, { childList: true, subtree: true }); })();
补充说明:
- 务必把脚本里的
@match替换成你实际要操作的页面URL,比如https://your-target-site.com/*,避免脚本在所有页面乱运行。 - 如果目标div不是a标签的直接父元素,可以用
link.closest('div')向上查找最近的div,或者加筛选条件,比如link.closest('div.a.r')。 - 要是页面内容都是静态的,不需要动态监听,可以删掉MutationObserver相关代码,只保留
window.addEventListener('load', removeTargetDivs)即可。
内容的提问来源于stack exchange,提问作者Grave
相关产品推荐
相关产品推荐

