从DOM中删除时,将DOM元素引用更改为空引用

时间:2013-07-27 05:59:54

标签: javascript dom getelementbyid removechild

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

<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或任何?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

  

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

     

警报(a)的//提醒“[object HTMLDivElement]”。

     

a.parentNode.removeChild(a)的

     

a = document.getElementById('a');

     

警报(a)的//“未定义”。