在选择所选范围并获取选择的父节点后,有没有办法找到绝对路径?

时间:2012-12-24 00:32:26

标签: javascript html dom xpath

  

可能重复:
  record and retrieve html element / node path using javascript

我试图在javascript中找到节点的绝对路径。

基本上用户选择一些文本我很好它的父节点,我试图找到它的绝对路径,所以我可以稍后在xpath中使用它来再次找到所选文本:

你可以在这里找到我正在谈论的一个例子(在php中):

xpath finding absolute path is there any easy way?

也是绝对路径我的意思是: “/ HTML /体/格[1] / DIV [1] / DIV [2] /跨度[2]”

这是我到目前为止所拥有的:

if (window.getSelection){
    t = window.getSelection();
    if (t.rangeCount > 0) {
         parent = t.getRangeAt(0).startContainer.parentNode
     } 
} else if (document.selection) {
    t = document.selection.createRange().text;
    range = document.selection.createRange();
    range.collapse(isStart);
    parent = document.selection.createRange().parentElement();
}  

if (t != '' && parent!='')   {
// here i would like to get the path
}

我试图解决这个问题,似乎我设法让父母/孩子的顺序正确但是当我计算兄弟姐妹的时候会有一些问题,它让我完全无稽之谈或者我错过了什么。

这是我到目前为止所提出的:

function absolutePath(node) {
var tages = new Array();
var index = new Array();
var c = 0;
do {
    var k=1, e=node;
    while (e = e.previousSibling) {
        k++;
    }
    index[c] = k;
    tages[c] = node.nodeName;

    c++;
}while(node = node.parentElement)

//alert(tages + '\n' + index);
return path;
}

非常感谢任何输入

0 个答案:

没有答案