0

如果我使用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或其他?

先感谢您。

4

1 回答 1

1

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

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

警报(一);// 警报“[object HTMLDivElement]”。

a.parentNode.removeChild(a);

a = document.getElementById('a');

警报(一);// “不明确的”。

于 2013-07-27T06:05:16.200 回答