[ Web Proxy ]
URL:
Viewing: https://it.javascript.info/task/tree-info [Back]  [Original]

Contate i discendenti
IT

Vorremo rendere disponibile questo progetto open-source per persone in tutto il mondo.

Aiutaci a tradurre il contenuto di questo tutorial nella tua lingua!

    Cerca in Javascript.info:
    Cerca nel tutorial:
    Light themeDark theme
    DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek
    torna alle lezioni

    Contate i discendenti

    Abbiamo un alberatura HTML strutturata come un elenco di ul/li annidati.

    Scrivete il codice che per ogni elemento <li> mostri:

    1. Qual il testo al suo interno (senza considerare il testo di eventuali sottoelementi).
    2. Il numero degli elementi <li> annidati tutti i discendenti, considerando tutti i livelli di annidamento.

    Demo in una nuova finesta

    Apri una sandbox per l'esercizio.

    soluzione

    Effettuiamo un ciclo iterativo sugli elementi <li>:

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

    Per ciascuna iterazione abbiamo bisogno di ricavare il testo allinterno 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.

    Apri la soluzione in una sandbox.


    Web Proxy Viewer  |  New URL  |  Original Page