gpt4 book ai didi

jquery - 返回元素的完整路径?

转载 作者:太空狗 更新时间:2023-10-29 13:42:18 25 4
gpt4 key购买 nike

我正在寻找一种方法来找到点击元素的完整路径。

例如,假设我有这个 HTML 代码:

<div> <ul> <li>item 1</li> <li>item 2</li> </ul> </div>
<div> <ul> <li>item 1</li> <li>item 2</li> </ul> </div>

我希望能够将路径(不知道还能怎么调用它)返回给被点击的元素。 alert() 现在就可以了。

假设我点击了第二个 div 中的第二个 li 元素。我想打电话背面:

div:eq(1) li:eq(1)

如果我点击第一个 div 的第一个 li 元素,它将是:

div:eq(0) li:eq(0)

我该怎么做?

是否有插件可以做到这一点,或者我是否需要从头开始制作以获取路径中元素的索引?

谢谢 :)

最佳答案

如果你想要插件方法:

(function($){
$.fn.extend({
getFullPath: function(stopAtBody){
stopAtBody = stopAtBody || false;
function traverseUp(el){
var result = el.tagName + ':eq(' + $(el).index() + ')',
pare = $(el).parent()[0];
if (pare.tagName !== undefined && (!stopAtBody || pare.tagName !== 'BODY')){
result = [traverseUp(pare), result].join(' ');
}
return result;
};
return this.length > 0 ? traverseUp(this[0]) : '';
}
});
})(jQuery);

为 jQuery 指定一个选择器或对象,它会得到它的完整路径。 stopAtBody是可选的,但如果提供为真,它只会遍历到 <BODY>标记(使其成为有效的 jQuery 选择器)。

DEMO (单击 LI 以查看其显示的路径)

关于jquery - 返回元素的完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5442767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com