我如何使用JavaScript去除HTML中的子节点?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

有没有像document.getElementById("FirstDiv").clear()

提问于
用户回答回答于

要回答最初的问题 - 有多种方法可以做到这一点,但以下是最简单的方法。

如果你已经有了一个你想要移除的子节点的句柄,也就是说你有一个JavaScript变量来保存对它的引用:

myChildNode.parentNode.removeChild(myChildNode);

显然,如果你没有使用已经这样做的众多库中的一个,你会想创建一个函数来抽象出它:

function removeElement(node) {
    node.parentNode.removeChild(node);
}

正如其他人提到的那样:如果您有任何事件处理程序连接到您要删除的节点,则您需要确保在删除的节点的最后一个引用超出范围之前断开连接,以免糟糕的实现的JavaScript解释器泄漏内存。

用户回答回答于

如果你想清除div并删除所有的子节点,你可以把:

var mydiv = document.getElementById('FirstDiv');
while(mydiv.firstChild) {
  mydiv.removeChild(mydiv.firstChild);
}

扫码关注云+社区