如何多次使用parentNode属性?

时间:2016-02-28 21:57:29

标签: javascript parent-node

我有一个问题。如何多次使用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解决方案也不错。

1 个答案:

答案 0 :(得分:2)

此功能应该完成这项工作:

HTML
    HEAD
    BODY
        DIV.container
            DIV#header
                DIV#hlogo

您可以在此页面上进行测试。例如,stackoverflow徽标。 HTML结构是这样的:

removeParent(hlogo, 4)

打开控制台,复制粘贴该功能,然后输入{{1}}。整个页面将消失:)