此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Node:isSameNode() 方法

基线
广泛可用

自 2016年8月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

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

备注:不必使用 isSameNode();请改用 === 严格相等运算符。

语法

js
isSameNode(otherNode)

参数

otherNode

要与之比较的 Node。

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

返回值

布尔值,若两个节点严格相等则为 true,否则为 false。

示例

在本示例中,我们创建三个 <div> 块。第一个和第三个具有相同的内容和属性,第二个则不同。然后运行一些 JavaScript,用 isSameNode() 比较这些节点并输出结果。

HTML

html
<div>这是第一个元素。</div>
<div>这是第二个元素。</div>
<div>这是第一个元素。</div>

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

JavaScript

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

output.innerText += `div 0 与 div 0 相同:${divList[0].isSameNode(
  divList[0],
)}\n`;
output.innerText += `div 0 与 div 1 相同:${divList[0].isSameNode(
  divList[1],
)}\n`;
output.innerText += `div 0 与 div 2 相同:${divList[0].isSameNode(
  divList[2],
)}\n`;

结果

规范

规范
DOM
# dom-node-issamenode

浏览器兼容性

参见