如何检查DOM引用是否已被销毁?

tem*_*ame 6 javascript dom

假设我以旧式方式选择元素(或者可以通过其他任何方式获取DOM引用):

var el = document.getElementById('myFavoriteElement');
Run Code Online (Sandbox Code Playgroud)

然后我从DOM中删除该元素的父元素,从而删除el.或者我直接删除el.

有没有办法检查是否el仍然是一个有效的引用,它所引用的HTML是否仍然存在于DOM中?沿着线的东西el.hasBeenDestroyed作为一个布尔属性,或者类似的东西?

小智 3

baseURI如果元素位于页面 DOM 上,则将填充该属性。检查一下。

或者,尝试document.body.contains(node).

编辑:现在到了 2022 年,DOM 节点isConnected只读属性提供了此信息。我的实验表明,baseURI即使从 DOM 中删除该属性,该属性仍然会被填充。