2009-05-20 4 views
2

En JavaScript, en supposant que j'ai une référence à un élément, comment puis-je récupérer une expression XPath qui le sélectionnerait?Comment puis-je déterminer le XPath d'un élément DOM?

Y a-t-il quelque chose comme objElement.xpath?

+0

Langue? Cadre? Plate-forme? – Cerebrus

+0

modifié ma question ... je pense javascript – Annibigi

+1

Vous avez une solution @ ce lien http://snippets.dzone.com/posts/show/4349 – Annibigi

Répondre

0

Ce n'est pas lié à XPATH, mais juste pour vous montrer comment vous pouvez obtenir la relation parent/enfant avec une sacrément simple en boucle.

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" 
+0

Vous devez également inclure l'index pour les éléments qui peuvent apparaître plusieurs fois en tant qu'enfant (pensez DIV ou P). –

2

Depuis Annibigi ne veut pas poster la solution, je vais le faire: See this snippet.

Questions connexes