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
# dom-node-issamenode

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
isSameNode

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Has more compatibility info.

See also