事情是这样的 - 我在页面上加载了很多元素,我正在使用 Javascript 删除其中一些元素 (this.parentNode.removeChild(this)),效果很好。但是,如果我有一个引用该节点的变量,然后删除该节点,该变量不会丢失它的值!但如果我随后尝试对此元素执行一些其他操作,则会出现错误!
示例:
var element = document.getElementById('ooolookatmeimanelement');
element.parentNode.removeChild(element);
alert(element);
我仍然在警报中收到“[Object HTMLblahblahblah]”,而不是 null 或未定义 - 有人知道如何检查节点是否已被删除吗?这可能是一些非常简单的事情,我却忽略了!
最佳答案
如果删除节点,也删除引用。例如。在您的代码中,将 null
分配给 element
:
element = null;
或者,如果这是不可能的,您可以随时检查 parentNode
的值。如果元素不是 DOM 的一部分,它应该给出 null
:
if(element.parentNode === null) {
// element is not part of the DOM
}
但这对我来说没有多大意义(不过可能取决于上下文):如果您删除了一个元素,那么您知道您已经删除了它。为什么要对其进行进一步的操作?
关于javascript - 检查 Javascript 中节点是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377340/