2009-05-20 58 views
2

在JavaScript中,假设我有对元素的引用,如何检索将选择它的XPath表达式?如何确定DOM元素的XPath?

有没有类似objElement.xpath

+0

语言?框架?平台? – Cerebrus 2009-05-20 06:14:16

+0

修改我的问题...我在想javascript javascript – Annibigi 2009-05-20 09:05:08

回答

0

这不是XPATH相关的,只是为了向您展示如何通过一个该死的简单while循环来获得父/子关系。

var pathAt = function(node) { 
    var stack = []; 
    while(node.parentNode !== null) { 
     stack.unshift(node.tagName); 
     node = node.parentNode; 
    } 
    return stack.join('/'); 
} 

// Usage : pathAt(document.getElementBy('moo')); 
// Outputs : "HTML/BODY/CENTER/TABLE/TBODY/TR/TD/TABLE/TBODY/TR/TD/TABLE/TBODY/TR/TD/TABLE/TBODY/TR/TD" 
2

由于Annibigi并不想发布的解决方案,我会做到这一点:见this snippet