Node.isEqualNode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Node.isEqualNode() 方法可以判断两个节点是否相等。当两个节点的类型相同,定义特征 (defining characteristics) 相同(对元素来说,即 id,孩子节点的数量等等),属性一致等,这两个节点就是相等的。一些具体的数据指出:多数时候的比较是根据节点的类型来的。

语法

var isEqualNode = node.isEqualNode(otherNode);
  • otherNode: 比较是否相等的节点。

示例

在本例中,我们创建了三个 <div> 块。第一个和第三个 div 都拥有相同的内容和属性,第二个则不一样。然后我们运行 JavaScript,使用 isEqualNode() 来比较这几个节点。

HTML

html
<div>This is the first element.</div>
<div>This is the second element.</div>
<div>This is the first element.</div>

<p id="output"></p>

JavaScript

js
let output = document.getElementById("output");
let divList = document.getElementsByTagName("div");

output.innerHTML +=
  "div 0 equals div 0: " + divList[0].isEqualNode(divList[0]) + "<br/>";
output.innerHTML +=
  "div 0 equals div 1: " + divList[0].isEqualNode(divList[1]) + "<br/>";
output.innerHTML +=
  "div 0 equals div 2: " + divList[0].isEqualNode(divList[2]) + "<br/>";

结果

规范

Specification
DOM Standard
# ref-for-dom-node-isequalnode①

浏览器兼容性

BCD tables only load in the browser

参见