regresar a la lección

Contar los descendientes

importancia: 5

Hay un árbol estructurado como ul/li anidado.

Escribe el código que para cada <li> muestra:

  1. ¿Cuál es el texto dentro de él (sin el subárbol)?
  2. El número de <li> anidados: todos los descendientes, incluidos los profundamente anidados.

Demo en nueva ventana

Abrir un entorno controlado para la tarea.

Hagamos un ciclo sobre <li>:

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

En el ciclo, necesitamos introducir el texto dentro de cada li.

Podemos leer el texto del primer nodo hijo de li, que es el nodo de texto:

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

  // el título es el texto en <li> antes de cualquier otro nodo
}

Entonces podemos obtener el número de descendientes como li.getElementsByTagName('li').length.

Abrir la solución en un entorno controlado.