Javascript 需要有关如何';后退';x位置删除同一树中不同类型的标记

Javascript 需要有关如何';后退';x位置删除同一树中不同类型的标记,javascript,greasemonkey,tampermonkey,Javascript,Greasemonkey,Tampermonkey,首先: 对不起,我的英语不好,如果这个问题已经得到了回答(我觉得应该是这样),对不起,但是我看起来像个疯子,但是我同样缺乏合适的英语术语来定位正确的问题/答案:| 在任何情况下,解决问题的方法是: 我需要(使用javascript/*monkey)定位:a name=“JustDoIT”,并从该位置“后退”到一个div ID或类,然后将其删除 示例:html->body->div.main->div#textRNG->div.static->a[name:JustDoIT] 其中'div#tex

首先:
对不起,我的英语不好,如果这个问题已经得到了回答(我觉得应该是这样),对不起,但是我看起来像个疯子,但是我同样缺乏合适的英语术语来定位正确的问题/答案:|

在任何情况下,解决问题的方法是:
我需要(使用javascript/*monkey)定位:a name=“JustDoIT”,并从该位置“后退”到一个div ID或类,然后将其删除

示例:html->body->div.main->div#textRNG->div.static->a[name:JustDoIT]

其中'div#textRNG'是我要删除的div,但由于'RNG'不断变化,因此无法专门针对它

处理“a”标签是不够的

我一直在考虑做一个循环,遍历所有的div#textRNG,然后div.static,以到达a标记,但这条路线比从一开始就找到正确的a标记,然后采取两个步骤删除正确的div要密集得多,要求也高得多

如果可能的话

我非常感谢大家的帮助

编辑

  • 如果可能,只需简单的javascript
  • 澄清:我需要删除(祖父母?)DIV,该DIV基于同一树(?)中“A标记”内的内容

如果您的代码只需要在最新版本的Firefox/Greasemonkey上运行,您可以使用:

var objA = document.querySelector("a[name='JustDoIT']");
objA.parentNode.parentNode.remove();
但是,如果您需要向后兼容旧浏览器/其他浏览器,则需要:

var objA = document.querySelector("a[name='JustDoIT']");
var grandParent = objA.parentNode.parentNode;
grandParent.parentNode.removeChild(grandParent);
参考资料:


在常规javascript中是否没有任何方法可以复制?如果可能的话,我希望避免让jquery参与进来。此外,这似乎处理相同类型的标记。。没有不同的..
[].forEach.call(document.queryselectoral(“a[name='JustDoIT']),函数(node){node.parentNode.parentNode.remove())
,内部代码也可能是
节点。最近的(“div[id^='text'])。remove()
谢谢!这是更正确的方向,但我不能让greasemonkey打球。我将阅读更多关于greasemonkey的内容,如果我无法运行它,我将创建一个完整的示例,如果您愿意帮助我解决这个问题。非常感谢您,感谢您将此示例包括在旧浏览器/其他浏览器中,如果没有这一点,我很可能仍然会把头撞在墙上-现在我只需要创建一个计时器或其他东西,因为脚本是在页面加载完项目之前触发的,所以它们仍然可见,我尝试了“在文档结束时运行/空闲”,但这似乎对我没有任何帮助,但再次感谢!如果可以,我会+1你:(