getElementById を使用せずに要素の存在を確認しようとすると、変数は DOM 要素へのライブ参照を維持せず、その代わりに初期値を保持することが明らかになります。これにより、DOM から要素を削除した後に要素の存在を確認するときに、予期しない結果が生じる可能性があります。
この問題に対処するには、isNull 関数を検討してください。要素の存在:
<code class="javascript">var isNull = function (element) { var randomID = getRandomID(12), savedID = (element.id) ? element.id : null; element.id = randomID; var foundElm = document.getElementById(randomID); element.removeAttribute('id'); if (savedID !== null) { element.id = savedID; } return (foundElm) ? false : true; };</code>
このメソッドは機能しますが、より簡単なアプローチが提案されています。
要素が DOM 内に存在するかどうかを確認するには表示可能な DOM の場合は、contains() メソッドを使用します。
<code class="javascript">document.body.contains(someReferenceToADomElement);</code>
このメソッドは、要素が DOM の一部であるかどうかを示すブール値を返します。 isNull 関数と比較して、より直接的かつ効率的に存在を確認する方法を提供します。
以上がgetElementById を使用せずに、可視 DOM 内の要素の存在を効率的に確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。