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