Javascript 使用jquery获取从一个元素到另一个元素的路径

Javascript 使用jquery获取从一个元素到另一个元素的路径,javascript,jquery,html,Javascript,Jquery,Html,我试图得到从一个元素到另一个元素的路径(最短路径)。我永远不知道在DOM中单击哪些元素 我可以得到DOM中每个元素的路径,如回答的问题所示:“”。 但是如何从元素a导航到元素b,而不将DOM返回到开始()并从那里导航到元素b呢 看。我得到一个元素A的选择器和一个元素B的选择器。 两者都有“html>body>div>div>”的共同点。所以我现在只需要一个选择器,它能让我以最短的方式从a到B HTML: <div> <div> <div>

我试图得到从一个元素到另一个元素的路径(最短路径)。我永远不知道在DOM中单击哪些元素

我可以得到DOM中每个元素的路径,如回答的问题所示:“”。 但是如何从元素a导航到元素b,而不将DOM返回到开始()并从那里导航到元素b呢

看。我得到一个元素A的选择器和一个元素B的选择器。 两者都有“html>body>div>div>”的共同点。所以我现在只需要一个选择器,它能让我以最短的方式从a到B

HTML:

<div>
    <div>
    <div>
        <div id="eA">ElementA</div>
    </div>
    <div>
        <div>SomeOtherElement</div>
    </div>
    <div>
        <div>
            <div>
                <div>SomeOtherElement</div>
                <div id="eB">ElementB</div>
            </div>
        </div>
    </div>
</div>
</div>

<span style="font-weight:bold;">ElementAPath:</span><div id="eAp"></div>
<span style="font-weight:bold;">ElementAPath:</span><div id="eBp"></div>

这是学术问题还是现实生活问题?现实生活问题,为什么会有不同?那么为什么不用一个例子来问现实生活问题,看看你已经试过了什么?这个问题起草得不好,没有说明所有已经试过的东西。我更新了我的问题的更多细节。
jQuery.fn.extend({
getPath: function () {
    var path, node = this;
    while (node.length) {
        var realNode = node[0], name = realNode.localName;
        if (!name) break;
        name = name.toLowerCase();

        var parent = node.parent();

        var sameTagSiblings = parent.children(name);
        if (sameTagSiblings.length > 1) { 
            allSiblings = parent.children();
            var index = allSiblings.index(realNode) + 1;
            if (index > 1) {
                name += ':nth-child(' + index + ')';
            }
        }

        path = name + (path ? '>' + path : '');
        node = parent;
    }

    return path;
}
});
jQuery('#eAp').text(jQuery('#eA').getPath());
jQuery('#eBp').text(jQuery('#eB').getPath());