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
.