我有一个问题。如何多次使用parentNode属性?
我知道我可以做这样的事情:
document.getElementById("mytag").parentNode.parentNode.remove();
或类似的东西。我的问题不在于我可以添加更多或更少的.parentNode以删除我想删除的内容。
我的问题是我想创建一个用户友好的应用程序,用户可以在其中自我声明应该删除多少个父节点。
起初我尝试通过循环添加.parentNode。它不起作用。第二次,我尝试使用eval()函数。结果相同。
有没有一个人有一个很好的解决方案我怎么能做到这一点?如果有机会你只需要说出parentNodes的数量就非常有用。
这里有一个小例子。我会做什么"自动":
myFunction(..., ..., 3) {
...
document.getElementById("mytag").parentNode.parentNode.parentNode.remove();
}
或者
myFunction(..., ..., 2) {
...
document.getElementById("mytag").parentNode.parentNode.remove();
}
或者
myFunction(..., ..., 1) {
...
document.getElementById("mytag").parentNode.remove();
}
非常感谢。
我喜欢纯JS的解决方案。另外一个jQuery解决方案也不错。
答案 0 :(得分:2)
此功能应该完成这项工作:
HTML
HEAD
BODY
DIV.container
DIV#header
DIV#hlogo
您可以在此页面上进行测试。例如,stackoverflow徽标。 HTML结构是这样的:
removeParent(hlogo, 4)
打开控制台,复制粘贴该功能,然后输入{{1}}。整个页面将消失:)