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

Javascript 将DOM元素引用从DOM中删除时更改为空引用,javascript,dom,getelementbyid,removechild,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.remo

如果使用
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>

var a=document.getElementById('a');
警告(a);//警报“[object HtmlDevice]”。
a、 parentNode.removeChild(a);
警告(a);//仍然会提醒“[object HtmlLevel]”。
是否有任何方法可以使存储在
a
变量中的DOM元素引用更“活跃”,因为它可以检测元素何时从DOM中删除,从而更新为
null
或其他任何内容


提前谢谢。

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

var a=document.getElementById('a')

警告(a);//警报“[object HtmlDevice]”

a、 parentNode.removeChild(a)

a=document.getElementById('a')

警告(a);//“未定义”


不,没有,这是它应该工作的方式。谢谢你的反馈。出于某种原因,我认为存储在变量中的DOM元素对象应该是“活动的”,并相应地改变。但事实并非如此。这只是意味着在使用DOM元素之前,我必须在代码中插入一个额外的检查来验证它是否确实有效。非常感谢。