将DOM元素引用从DOM中移除时更改为null引用

Making a DOM element reference change to a null reference when removed from the DOM

本文关键字:DOM 引用 null 元素      更新时间:2023-09-26

如果我使用document.getElementById将DOM元素存储在变量中,然后使用removeChild方法从DOM中删除该元素,则存储在该变量中的对象不会更新为null引用。例如:

<div id="a">
</div>
<script>
  var a = document.getElementById('a');
  alert(a); // Alerts "[object HTMLDivElement]".
  a.parentNode.removeChild(a);
  alert(a); // Still alerts "[object HTMLDivElement]".
</script>

是否有任何方法可以使存储在a变量中的DOM元素引用更"活跃",因为它可以检测元素何时从DOM中删除,从而更新为null或其他什么?

提前谢谢。

您不能,因为您存储在变量中,所以在需要检查时只需调用var a=document.getElementById('a')。

var a=document.getElementById('a');

警报(a);//警报";[object HTMLDivElement]";。

a.parentNode.removeChild(a);

a=document.getElementById('a');

警报(a);//"未定义";。