Node: isSameNode() method

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.

The isSameNode() method of the Node interface is a legacy alias the for the === strict equality operator. That is, it tests whether two nodes are the same (in other words, whether they reference the same object).

Note: There is no need to use isSameNode(); instead use the === strict equality operator.

Syntax

js
isSameNode(otherNode)

Parameters

otherNode

The Node to test against.

Note: This parameter is not optional, but can be set to null.

Return value

A boolean value that is true if both nodes are strictly equal, false if not.

Example

In this example, we create three <div> blocks. The first and third have the same contents and attributes, while the second is different. Then we run some JavaScript to compare the nodes using isSameNode() and output the results.

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`;

Results

Specifications

Specification
DOM Standard
# dom-node-issamenode

Browser compatibility

BCD tables only load in the browser

See also