ホームページ  >  記事  >  ウェブフロントエンド  >  getElementById を使用せずに、可視 DOM 内の要素の存在を効率的に確認する方法

getElementById を使用せずに、可視 DOM 内の要素の存在を効率的に確認する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-21 22:27:02675ブラウズ

How to Efficiently Check Element Existence in the Visible DOM Without Using getElementById?

可視 DOM で要素の存在を確認する方法

getElementById を使用しない要素の存在のテスト

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 内に存在するかどうかを確認するには表示可能な DOM の場合は、contains() メソッドを使用します。

<code class="javascript">document.body.contains(someReferenceToADomElement);</code>

このメソッドは、要素が DOM の一部であるかどうかを示すブール値を返します。 isNull 関数と比較して、より直接的かつ効率的に存在を確認する方法を提供します。

以上がgetElementById を使用せずに、可視 DOM 内の要素の存在を効率的に確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。