首頁  >  文章  >  web前端  >  如何在不使用 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,使用contains() 方法:

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

此方法傳回一個布林值,指示該元素是否是DOM 的一部分。與 isNull 函數相比,它提供了一種更直接、更有效的方法來檢查存在性。

以上是如何在不使用 getElementById 的情況下有效率地檢查可見 DOM 中元素是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn