retour au cours

Compter les descendants

importance: 5

Il y a un arbre structuré comme un ul/li imbriqué.

Écrivez le code qui pour que chaque <li> affiche :

  1. Quel est le texte à l’intérieur (sans le sous-arbre)
  2. Le nombre de <li> imbriqués – tous les descendants, y compris ceux profondément imbriqués.

Démo dans une nouvelle fenêtre

Open a sandbox for the task.

Faisons une boucle dans le <li>:

for (let li of document.querySelectorAll('li')) {
  ...
}

Dans la boucle, nous devons obtenir le texte à l’intérieur de chaque li.

Nous pouvons lire le texte du premier nœud enfant de li, c’est-à-dire le nœud texte :

for (let li of document.querySelectorAll('li')) {
  let title = li.firstChild.data;

  // title est le texte dans <li> avant tout autre noeud
}

Ensuite, nous pouvons obtenir le nombre de descendants comme li.getElementsByTagName('li').length.

Ouvrez la solution dans une sandbox.