La proprietà innerHTML in JavaScript

In JavaScript, innerHTML è una proprietà degli elementi del DOM (Document Object Model) che mi consente di ottenere o modificare il contenuto HTML di un elemento.

A] Per ottenere il contenuto HTML di un elemento:

let variabile = elemento.innerHTML;

Dove elemento è un riferimento a un oggetto del DOM.

Ad esempio, per ottenere il contenuto di un elemento <div> con l'ID "mioDiv", scrivo.

let contenutoHTML = document.getElementById("mioDiv").innerHTML;

B] Per modificare il contenuto HTML di un elemento

elemento.innerHTML = nuovoContenutoHTML;

Dove nuovoContenutoHTML è una stringa che contiene il nuovo contenuto HTML che vuoi inserire.

Ad esempio, per cambiare il contenuto dello stesso <div> menzionato prima, scrivo:

document.getElementById("mioDiv").innerHTML = "<p>Nuovo contenuto</p>";

In entrambi i casi è uno strumento potente e versatile per la manipolazione dinamica delle pagine web.

Nota. E' importante prestare attenzione alla sicurezza quando si utilizza innerHTML, per evitare vulnerabilità come gli attacchi XSS (Cross-Site Scripting). In particolar modo quando si tratta di inserire un contenuto fornito dall'utente. È consigliabile pulire sempre i contenuti per evitare l'inserimento di script dannosi.

    Un esempio pratico

    Per fare un esempio considero questa pagina web.

    <html>
    <body>
    <div id="esempio">Ciao Mondo!</div>
    <script>
    // leggo il contenuto del div
    let contenuto = document.getElementById('esempio').innerHTML;
    // stampo il contenuto della variabile
    console.log(contenuto);
    // modifico il contenuto del div
    document.getElementById('esempio').innerHTML = '<p>Hello World!</p>';

    </script>
    </body>
    </html>

    In questo script accedo al contenuto HTML dell'elemento con id="esempio" e lo salvo in una variabile.

    Poi stampo il suo contenuto nella console e, infine, modifico il contenuto nell'elemento sempre usando la proprietà innerHTML

    Il risultato sullo schermo è il seguente:

    Hello World!
    Ciao Mondo!

    La prima riga è il risultato della modifica al div che ho fatto tramite la proprietà innerHTML.

    La seconda riga è, invece, il contenuto della variabile stampato sullo schermo tramite document.Write().

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Document in Javascript

    I metodi

    Le proprietà