Disons que j'ai un gros fichier HTML avec différents types de balises, semblable à celui de StackOverflow que vous regardez en ce moment.
Maintenant, disons que vous cliquez sur un élément de la page, à quoi ressemblerait la fonction Javascript qui calcule le XPath le plus basique faisant référence à cet élément spécifique ?
Je sais qu'il y a une infinité de façons de faire référence à cet élément dans XPath, mais je cherche quelque chose qui regarde simplement l'arbre DOM, sans tenir compte des ID, des classes, etc.
Exemple :
<html>
<head><title>Fruit</title></head>
<body>
<ol>
<li>Bananas</li>
<li>Apples</li>
<li>Strawberries</li>
</ol>
</body>
</html>
Disons que vous cliquez sur Pommes . La fonction Javascript renverrait le résultat suivant :
/html/body/ol/li[2]
Il s'agit en fait de remonter l'arbre DOM jusqu'à l'élément HTML.
Juste pour clarifier, le gestionnaire d'événement "on-click" n'est pas le problème. Je peux le faire fonctionner. Je ne sais simplement pas comment calculer la position de l'élément dans l'arbre DOM et la représenter sous forme de XPath.
PS Toute réponse avec ou sans l'utilisation de la bibliothèque JQuery est appréciée.
PPS Je suis complètement novice en matière de XPath, il se peut donc que j'aie fait une erreur dans l'exemple ci-dessus, mais vous aurez l'idée.
Modifié le 11 août 2010 : Il semble que quelqu'un d'autre ait posé une question similaire : générer/obtenir le Xpath pour un textnode sélectionné
7 votes
XPath utilise une indexation basée sur 1, donc c'est
li[2]
.0 votes
Merci, j'ai modifié le code.