The isSameNode() method for Node objects tests whether two nodes are the same (that is, whether they reference the same object).


const isSameNode = node.isSameNode(otherNode)


  • otherNode The Node to test against.


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.


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


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

output.innerHTML += "div 0 same as div 0: " + divList[0].isSameNode(divList[0]) + "<br/>";
output.innerHTML += "div 0 same as div 1: " + divList[0].isSameNode(divList[1]) + "<br/>";
output.innerHTML += "div 0 same as div 2: " + divList[0].isSameNode(divList[2]) + "<br/>";



Specification Status Comment
The definition of 'Node: isSameNode' in that specification.
Living Standard No change (was for a long time removed from it).
Document Object Model (DOM) Level 3 Core Specification
The definition of 'Node.isSameNode()' in that specification.
Obsolete Initial definition

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
isSameNodeChrome Full support YesEdge Full support 12Firefox Full support 48
Full support 48
No support 1 — 10
IE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 48
Full support 48
No support 4 — 10
Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes


Full support  
Full support
Compatibility unknown  
Compatibility unknown

See also