我正在寻找一种方法来查找单击元素的完整路径.
例如,假设我有这个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)
我该怎么办?
是否有可以执行此操作的插件,或者我是否需要从头开始获取路径中的元素索引?
谢谢 :)
解决方法
这是您重建完整路径的方法:
var q = $(this) .parentsUntil('body') .andSelf() .map(function() { return this.nodeName + ':eq(' + $(this).index() + ')'; }).get().join('>');
受到this answer的启发.