J'ai un peu de mal à trouver un moyen rapide d'accomplir une tâche (apparemment) simple. Dire que j'ai le code html suivant:trouver le nombre de nœuds entre deux éléments avec jquery?
<ul>
<li>One</li>
<li>Two</li>
<li id='parent'>
<ul>
<li>Three</li>
<li>
<ul>
<li>Four</li>
<li id='child'>Five</li>
</ul>
</li>
<li>Six</li>
</ul>
</li>
</ul>
et ont les deux éléments suivants:
var child = $("#child");
var parent = $("#parent");
Dans cet exemple, il est clair que:
child.parent().parent().parent().parent();
sera le même nœud que ' parent'. Mais la liste que je traverse est de taille variable, donc j'ai besoin de trouver un moyen de savoir combien de '.parent() je vais devoir passer pour arriver à ce noeud parent. Je sais toujours où sont les enfants et les parents, je ne sais pas combien de couches il y a entre les deux. Y at-il une méthode jQuery intégrée pour faire quelque chose comme ça, ou est-ce que je préfère une fonction récursive qui obtient le parent, vérifie si le parent est mon nœud désiré, et si elle ne s'appelle pas elle-même? Edit: Je ne me suis peut-être pas expliqué assez clairement. Mon problème n'est pas d'obtenir le parent, mon problème est de savoir combien de nœuds sont entre l'enfant et le parent. Dans mon exemple ci-dessus, il y a 3 nœuds entre l'enfant et le parent. Ce sont les données que je dois trouver.
J'ai besoin de connaître le numéro parce que je veux l'utiliser. –