うまくいけば、質問のタイトルは明確ですが、
次の場合はどうなりますか。
<div id="parent">
<img src="..." id="myImage"/>
</div>
<script>
var i=document.getElementById('myImage');
document.getElementById('parent').innerHTML='';
// variable i should not be 'undefined' right? chrome debugger says nope!
</script>
これを chromes デバッガーでテストしたところ、DOM オブジェクトが存在しなくなった後でも参照が「存続」しているように見えます... 正しいですか? (上記の例で) console.log(i) を実行しても、オブジェクトとそのすべてのプロパティが返されます... DOM に存在しなくなったので、ガベージ コレクターを起動してこの参照を「未定義」にするべきではありませんか?
このようなものがクロム以外の他のブラウザ(より具体的にはIE6 ...)でどのように処理されるか知っている人はいますか?
私が尋ねている理由は、ユーザーが後で別のアクションを実行する場合に使用するために、(ユーザーのアクションに応じて) いくつかの参照をグローバルに保存するためです...そして基本的に、DOM オブジェクトがまだ存在するかどうかをテストする方法が必要です。 .
すべてを明確にするために、小さな jsfiddle を作成しました: http://jsfiddle.net/9HCKt/
ありがとう。
更新:質問が明確ではなかったことがわかりました...このオブジェクトがクロスブラウザー互換の方法で DOM にまだ存在するかどうかをテストするにはどうすればよいですか?