JSFiddle - React, Tailwind, and code Playground
HTML
<div>
<div id="thisOne">
<div>
<div>
<div>
<div id="a">
first element
</div>
</div>
</div>
</div>
<div>
<div id="b">
second element
</div>
</div>
</div>
</div>
JavaScript
function getCommonAncestor(node1, node2) {
var method = "contains" in node1 ? "contains" : "compareDocumentPosition",
test = method === "contains" ? 1 : 0x0010;
while (node1 = node1.parentNode) {
if ((node1[method](node2) & test) == test)
return node1;
}
return null;
}
var n1 = document.getElementById("a"), n2 = document.getElementById("b");
alert(getCommonAncestor(n1, n2).id);