jquery – 所选元素的html dom中的路径是什么?

前端之家收集整理的这篇文章主要介绍了jquery – 所选元素的html dom中的路径是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Return XPath location with jQuery? Need some feedback on a function2
我试图在html dom中获取特定对象的路径.
使用javascript或jquery(当我选择/悬停在对象上)

我不提前知道结构.

例如:

<html>
    <body>
        <div>
            <div>
                Not selected
            </div>
            <div>
                Selected Text
            </div>
        </div>
    </body>
</html>

“选定的文本”路径应该是:

//HTML/BODY/DIV[0]/DIV[1]

任何帮助将不胜感激.

我看过this answer,但并没有给出关于元素索引的指示(在我的例子中,方括号中的值 – DIV [1]中的值).

顺便说一句,这个路径有一个“技术”的名字吗?
我看过XPath这个词,但我不确定是这样的.

快乐,享受生活.

解决方法

以下功能使您可以使用jQuery:
function getElementPath(element)
{
    return "//" + $(element).parents().andSelf().map(function() {
        var $this = $(this);
        var tagName = this.nodeName;
        if ($this.siblings(tagName).length > 0) {
            tagName += "[" + $this.prevAll(tagName).length + "]";
        }
        return tagName;
    }).get().join("/").toUpperCase();
}

你可以这样使用:

$(document).ready(function() {
    $("div").click(function(event) {
        event.stopPropagation();
        window.alert(getElementPath(this));
    });
});

你可以测试它here.

原文链接:https://www.f2er.com/jquery/180222.html

猜你在找的jQuery相关文章