[英]Is there a way to check if two DOM elements are equal?
在Javascript中通過位置和元素的位置來查找元素是沒有問題的。 但是有沒有通用的方法來比較它們?
我能想到的唯一方法是比較 id 或類名,但並非所有元素都有 id 或類名。
在現代瀏覽器中,有兩種比較節點的方法。
var a = document.createElement('div');
var b = document.createElement('div');
b.isEqualNode(a); // true
但
b.isSameNode(a); //false
對於 IE,它的 DOM 元素具有非標准屬性,uniqueID 。 但我無法想象它在這種情況下會有用,因為是的,您實際上可以比較兩個指針。
如果要比較兩個元素指針是否為同一元素,只需使用比較運算符。 這很容易證明,因為
document.body === document.body
例如,如果我以某種方式引用了兩個我不知道的元素:
if (element1 === element2) ...
=== 運營商仍然相關https://developer.mozilla.org/en-US/docs/Web/API/Node/isSameNode
即使您對 DOM 進行了更改, === 運算符也能正常工作。
const body = document.querySelctor("body"); body.setAttribute("test","done");const _body = document.querySelctor("body"); body === _body // true.
:)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.