Node: isSameNode() 方法

Baseline 已广泛支持

此功能已相当成熟,可在多种设备和浏览器版本上运行。自 ⁨2016 年 8 月⁩ 起,所有浏览器均已提供此功能。

Node 接口的 isSameNode() 方法是 === 严格相等运算符 的一个旧式别名。也就是说,它测试两个节点是否相同(换句话说,它们是否引用同一个对象)。

注意: 没有必要使用 isSameNode();请改用 === 严格相等运算符。

语法

js
isSameNode(otherNode)

参数

otherNode

用于测试的 Node

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

返回值

如果两个节点严格相等,则返回 true,否则返回 false

示例

在此示例中,我们创建了三个 <div> 块。第一个和第三个具有相同的 innerHTML 和 attributes,而第二个则不同。然后我们运行一些 JavaScript 来使用 isSameNode() 比较节点并输出结果。

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 same as div 0: ${divList[0].isSameNode(
  divList[0],
)}\n`;
output.innerText += `div 0 same as div 1: ${divList[0].isSameNode(
  divList[1],
)}\n`;
output.innerText += `div 0 same as div 2: ${divList[0].isSameNode(
  divList[2],
)}\n`;

结果

规范

规范
DOM
# dom-node-issamenode

浏览器兼容性

另见