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