簡體   English   中英

有沒有辦法檢查兩個 DOM 元素是否相等?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM