DOM: selezione e modifica
DOM: Modifica dei contenuti e degli stili
Vedremo come aggiornare in tempo reale i contenuti delle pagine web con JavaScript. Analizzeremo come cambiare testo e HTML, aggiungere nuovi elementi e gestire gli stili tramite proprietà CSS e classi.
Selezione e modifica dei contenuti
Vediamo come selezionare gli elementi del DOM e aggiornare i loro contenuti. Si può agire sul testo con textContent oppure modificare il contenuto HTML con innerHTML.
Codice Esempio: Modifica del testo
let titolo = document.getElementById("titolo");
titolo.textContent = "Nuovo Titolo"; // cambia solo il testo
titolo.innerHTML = "<em>Titolo in corsivo</em>"; // interpreta HTML
Aggiunta e rimozione di elementi
Analizziamo come creare nuovi nodi e inserirli nella pagina. È possibile anche rimuovere un nodo già esistente.
Codice Esempio: Creazione e rimozione
let lista = document.getElementById("lista");
let nuovoElemento = document.createElement("li");
nuovoElemento.textContent = "Nuovo elemento";
lista.appendChild(nuovoElemento); // aggiunge in fondo
lista.removeChild(lista.firstChild); // rimuove il primo elemento
Manipolazione degli stili
Vediamo come modificare gli stili degli elementi. Si può agire direttamente sulle proprietà CSS tramite style oppure gestire le classi con classList.
Codice Esempio: Modifica degli stili
let paragrafo = document.querySelector("p");
paragrafo.style.color = "blue"; // stile diretto
paragrafo.classList.add("evidenziato"); // aggiunge classe CSS
paragrafo.classList.remove("grigio"); // rimuove classe CSS
Tabella riassuntiva
| Metodo / Proprietà | Descrizione | Esempio |
|---|---|---|
| textContent | Cambia solo il testo di un elemento | elem.textContent = "Ciao" |
| innerHTML | Interpreta e inserisce codice HTML | elem.innerHTML = "Ciao" |
| appendChild() | Aggiunge un nuovo nodo come figlio | lista.appendChild(nodo) |
| removeChild() | Rimuove un nodo figlio | lista.removeChild(nodo) |
| style | Modifica stili inline | elem.style.color = "red" |
| classList | Gestisce le classi CSS | elem.classList.add("attivo") |
Considerazioni
Distinguere tra testo semplice e HTML interpretato è fondamentale. Per strutture dinamiche conviene creare nodi con JavaScript. Per gli stili, usare classi mantiene il codice più ordinato rispetto alle modifiche inline.

IP: 216.73.216.214