J'ai une liste non ordonnée imbriquée représentant une hiérarchie d'arborescence. Il peut y avoir plusieurs tags ul profondément imbriqués dans la liste non ordonnée. Exemple très simple:Obtenir une étiquette suivante dans l'arborescence ul imbriquée
<ul>
<li><a href="#" class="allowed">Link</a>
<ul>
<li><a href="#" class="allowed">Link</a></li>
<li><a href="#" class="allowed">Link</a></li>
</ul>
</li>
<li><a href="#" class="allowed">Link</a>
<ul>
<li><a href="#" class="disallowed">Link</a></li>
<li><a href="#" class="disallowed">Link</a></li>
</ul>
</li>
</ul>
Comme vous pouvez le voir, certains liens peuvent avoir une classe "autorisé". Quand un lien comme celui-ci est cliqué, je voudrais obtenir une balise suivante dans l'arbre et si elle a la classe "disallowed", changez-la en "allowed". Comment puis-je obtenir le prochain tag dans l'arborescence?
MISE À JOUR:
Ce que je veux dire. Avant:
<ul>
<li><a href="#" class="allowed">Link</a>
<ul>
<li><a href="#" class="allowed">Link</a></li>
<li><a href="#" class="allowed">Link</a></li>
</ul>
</li>
<li><a href="#" class="allowed">Link</a><!-- this gets clicked on -->
<ul>
<li><a href="#" class="disallowed">Link</a></li>
<li><a href="#" class="disallowed">Link</a></li>
</ul>
</li>
</ul>
changements HTML à ceci:
<ul>
<li><a href="#" class="allowed">Link</a>
<ul>
<li><a href="#" class="allowed">Link</a></li>
<li><a href="#" class="allowed">Link</a></li>
</ul>
</li>
<li><a href="#" class="allowed">Link</a>
<ul>
<li><a href="#" class="allowed">Link</a></li>
<li><a href="#" class="disallowed">Link</a></li>
</ul>
</li>
</ul>
Et ainsi de suite.
comme je peux le voir, il n'y a pas de «li» avec la classe ... – Reigel
@Reigel J'ai corrigé la faute de frappe. Je voulais dire une étiquette, bien sûr. –
Je ne comprends toujours pas: D Peux-tu mettre des codes avant-après de html. avant qu'un clic ne se produise (vous l'avez déjà), et après un clic se produit .. – Reigel