日期:2014-05-16  浏览次数:20433 次

请教如何用jquery获得在网页上点选的标签的XPATH路径
想通过JS获得所选标签的XPATH路径,不知道该如何做,JQUERY是否支持,如果不支持,该用什么?

------解决方案--------------------
不知道是不是下面这种,遍历parentNode就好了
HTML code
<script type="text/javascript" src="jq.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        var xpath = '', o;
        $('*').click(function (e) {
            e.stopPropagation();
            o = this;
            xpath = this.tagName;
            while (o = o.parentNode) { xpath = o.tagName + '/' + xpath; if (o.tagName == 'BODY') break; }
            alert('/' + xpath);
        });
    });
</script>
<table><tr><td><div class="item_title">1<div class="item_content">1的内容</div></div></td></tr></table>
<div class="item_title">2<div class="item_content">2的内容</div></div>
<div class="item_title">3<div class="item_content">3的内容</div></div>

------解决方案--------------------
大概是这样的吧 你可以试试
jquery有个 .parents()

比如你选了一个div id为test,你想整xpath的话 $("#test").parents();这样获取的是一个数组,
var aa = [];
$('#test').parents().each(function(){
 aa.push(this.tagName);
});
获取标签名后 你就可以替换成xpath了 不过需要注意的是 这个不止获取到body 最后一个元素应该是到html,我也不太确定,反正在firefox上是这样的.