Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Introduzione

Miti da sfatare e definizione di DOM
Miti da sfatare e definizione di DOM
Link copiato negli appunti

La rete e la letteratura offrono decine di definizioni del DOM, ognuna diversa dall'altra e in ciascuna si ricorre sempre a qualche sorta di metafora: il DOM come albero, come bosco, come persona con una propria anatomia, come famiglia, addirittura come citofono!

Questo non perché i vari programmatori fossero particolarmente poetici, ma solo perché dare una definizione compatta e descrittiva del DOM non è semplice. Cercheremo qui di non usare metafore (una sfida): «Il DOM è un'API».

Questa ennesima definizione può sembrare un po' ermetica. Cerchiamo di procedere alla comprensione per piccoli passi.

Un'API (Application Programming Interface), letteralmente è un'interfaccia per la programmazione di applicazioni; in parole povere è un insieme di funzioni, metodi e proprietà, che i programmi possono richiamare al fine di delegare il lavoro al sistema sottostante.

Il DOM (Document Object Model) è un'API, indipendente dalla piattaforma, che descrive la struttura di un documento HTML (e XML), con il quale i costruttori di pagine per il Web possono accedere e manipolare tutti gli elementi della pagina stessa.

Rifacendoci alla sua sigla, il DOM è un modello che descrive come i diversi oggetti di una pagina sono collegati tra loro.

È importante sottolineare che il DOM è indipendente dalla piattaforma, ovvero è un'interfaccia definita dal W3C per essere lo strumento universale per tutti i creatori di pagine Web. Questo significa che il DOM definito dal W3C è indipendente dal tipo di browser, di versione e di sistema operativo.

Ciò, evidentemente, non significa che i produttori di browser lo rispettino. Addirittura le versioni 4 dei principali browsers, Netscape ed Explorer, avevano creato un loro DOM proprietario, che nulla o quasi, aveva a che fare con le specifiche. Da qui nascono tutti gli odiati problemi relativi al crossbrowser.

Il DOM non è una parte di JavaScript. Questo è un altro mito da sfatare. Il JavaScript è solo un modo per accedere al DOM, e non è neanche l'unico, ad esempio anche il linguaggio di scripting VBScript di Microsoft è in grado di interpellare ed intervenire sul DOM.

Facciamo ancora un passo avanti e cerchiamo di capire ancora più nel dettaglio cosa descrive il DOM. Per far questo, consideriamo una semplice pagina:

<html>
  <head>
    <title>il DOM</title>
  <head>
  <body>
     <A href="pagina.html">Ciao</A>
  </body>
</html>

Il DOM considera questa, come ogni altra pagina, secondo le relazioni che legano e collegano i vari elementi del documento, evidenziandone le parentele e le caratteristiche.

La pagina è costituita da nodi, in sostanza ogni cosa presente nella pagina, ogni tag (come <title>), ogni testo (come "Ciao") è un nodo.

I nodi (come ad es. <a>) possono avere attributi (come href="...") e proprietà. Inoltre un nodo (come <body>) può contenere altri nodi, in questo caso si parla di «elemento» della pagina.

Una rappresentazione grafica può essere più esplicativa:

Figura 1. Rappresentazione grafica del DOM
Rappresentazione grafica del DOM

Possiamo immaginare questa la descrizione di una generica pagina del DOM del W3C. Come si vede, le possibilità offerte sono enormi, considerando che non solo è possibile accedere e manipolare ogni nodo, ma anche aggiungerne di nuovi al volo, ed eliminarne altri già presenti. Queste stesse possibilità sono offerte da tutti i browser che supportano il DOM W3C.

Ti consigliamo anche