Contate i discendenti
Abbiamo un alberatura HTML strutturata come un elenco di ul/li annidati.
Scrivete il codice che per ogni elemento <li> mostri:
- Qual è il testo al suo interno (senza considerare il testo di eventuali sottoelementi).
- Il numero degli elementi
<li>annidati – tutti i discendenti, considerando tutti i livelli di annidamento.
Effettuiamo un ciclo iterativo sugli elementi <li>:
for (let li of document.querySelectorAll('li')) {
...
}
Per ciascuna iterazione abbiamo bisogno di ricavare il testo all’interno di ogni li.
Possiamo leggere il testo dal primo nodo figlio di li, che è un nodo di testo:
for (let li of document.querySelectorAll('li')) {
let title = li.firstChild.data;
// title è il testo nel <li> prima di qualsiasi altro nodo
}
A questo punto possiamo ricavare il numero dei discendenti con li.getElementsByTagName('li').length.