Spesso, dopo averlo nominato e citato più volte in classe arriva il momento in cui mi viene chiesto: “Ma prof, cos’è esattamente il DOM?”. Alcuni studenti infatti non sono sicuri di averlo capito bene. E allora, vediamolo assieme.
Il Document Object Model, cioè il DOM, assomiglia molto all’HTML che scrivi con l’editor, ma non è la stessa cosa: il tuo codice infatti prima di essere trasformato nel DOM viene parsificato dal browser.
Se controlli la sorgente della pagina (CMD+Option+U su Mac, CTRL+U su Windows) potrà sembrarti identico, ma non è così per tutti i casi: non accade ad esempio se lavori con dei template che restituiscono un output differente, o se il tuo HTML viene compresso o modificato.
Meglio comunque se al posto del comando visualizza sorgente utilizzi il DevTools del browser (CMD+Option+I su Mac, CTRL+SHIFT+C su Windows).
La risposta è sì! Quando infatti cotrolliamo il pannello DevTools, ciò che appare è proprio il DOM (o meglio, la sua rapprezentazione visuale).
Beh, il codice che vedi in fondo è stato creato proprio a partire dal tuo HTML. Ma anche in questo caso ci sono situazioni in cui può essere differente, te ne elenco alcune:
<table> e hai dimenticato di infilarci il <tbody> (che è obbligatorio) il browser lo farà per te.