Node: isEqualNode() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

isEqualNode() 方法是 Node 接口的一个方法,用于测试两个节点是否相等。当两个节点具有相同的类型、定义特征(对于元素来说,就是它们的 ID、子节点数量等)、属性匹配等时,它们就被认为是相等的。具体需要匹配的数据点集合取决于节点的类型。

语法

js
isEqualNode(otherNode)

参数

otherNode

要比较相等性的 Node

注意: 此参数不是可选的,但可以设置为 null

返回值

一个布尔值,如果两个节点相等,则返回 true,否则返回 false。如果 otherNodenullisEqualNode() 始终返回 false。

示例

在此示例中,我们创建了三个 <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
const output = document.getElementById("output");
const divList = document.getElementsByTagName("div");

output.innerText += `div 0 equals div 0: ${divList[0].isEqualNode(
  divList[0],
)}\n`;
output.innerText += `div 0 equals div 1: ${divList[0].isEqualNode(
  divList[1],
)}\n`;
output.innerText += `div 0 equals div 2: ${divList[0].isEqualNode(
  divList[2],
)}\n`;

结果

规范

规范
DOM
# ref-for-dom-node-isequalnode①

浏览器兼容性

另见