當嘗試不使用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,使用contains() 方法:
<code class="javascript">document.body.contains(someReferenceToADomElement);</code>
此方法傳回一個布林值,指示該元素是否是DOM 的一部分。與 isNull 函數相比,它提供了一種更直接、更有效的方法來檢查存在性。
以上是如何在不使用 getElementById 的情況下有效率地檢查可見 DOM 中元素是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!