xpath.js

来自「Harvestman-最新版本」· JavaScript 代码 · 共 33 行

JS
33
字号
function getXPath(node, path) {    path = path || [];    if(node.parentNode) {        path = getXPath(node.parentNode, path);    }        if(node.previousSibling) {        var count = 1;        var sibling = node.previousSibling            do {                if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {count++;}                sibling = sibling.previousSibling;            } while(sibling);        if(count == 1) {count = null;}    } else if(node.nextSibling) {        var sibling = node.nextSibling;        do {            if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {                var count = 1;                sibling = null;            } else {                var count = null;                sibling = sibling.previousSibling;            }        } while(sibling);    }        if(node.nodeType == 1) {        path.push(node.nodeName.toLowerCase() + (node.id ? "[@id='"+node.id+"']" : count > 0 ? "["+count+"]" : ''));    }    return path;};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?