删除无父HTML元素

时间:2011-03-04 14:59:49

标签: javascript html dom

我想删除动态创建的临时元素。

x = document.createElement("DIV");
x.innerHTML = res;
y = x.parentNode;
x = y.removeChild(x);
x = null;

我已经编写了这些代码,但由于它确实有一个父母,他们不工作。我知道我可以创建第二个临时节点来保留第一个但后来我需要第三个节点来删除第二个节点.... :)这里我需要一个函数来删除节点而不需要父节点。我也认为我可以将节点直接放到文档对象并删除它,但我正在寻找更有效的解决方案(如果存在)。

2 个答案:

答案 0 :(得分:4)

您无需删除节点,因为它未添加到DOM中。将变量设置为null时,该元素将不再存在。通常,DOM节点将始终具有父节点,前提是它们已添加到模型中,但在此处您不会在代码中执行此操作。

答案 1 :(得分:1)

removeChild只是从文档中删除元素。由于您的元素不是文档的一部分,因此您无需使用它。只需确保您没有在代码中保留对元素的任何引用,例如通过将变量设置为null就像您一样,并且JavaScript自动垃圾收集将处理休息。

如果你的变量是函数中的局部变量,那么你甚至不需要将它设置为null,因为它将不再存在于它自己。

没有直接的方法来“删除”JavaScript中的对象。