ES6 - HTML DOM
Ogni pagina web risiede all'interno di una finestra del browser, che può essere considerata come un oggetto.
UN document objectrappresenta il documento HTML visualizzato in quella finestra. L'oggetto documento ha varie proprietà che fanno riferimento ad altri oggetti che consentono l'accesso e la modifica del contenuto del documento.
Il modo in cui si accede e si modifica il contenuto di un documento è chiamato Document Object Model, o DOM. Gli oggetti sono organizzati in una gerarchia. Questa struttura gerarchica si applica all'organizzazione degli oggetti in un documento web.
Di seguito è riportata una semplice gerarchia di alcuni oggetti importanti:
Esistono diversi DOM esistenti. Le sezioni seguenti spiegano in dettaglio ciascuno di questi DOM e descrivono come utilizzarli per accedere e modificare il contenuto del documento.
The Legacy DOM- Questo è il modello introdotto nelle prime versioni del linguaggio JavaScript. È ben supportato da tutti i browser, ma consente l'accesso solo a determinate parti chiave dei documenti, come moduli, elementi di modulo e immagini.
The W3C DOM- Questo modello a oggetti del documento consente l'accesso e la modifica di tutto il contenuto del documento ed è standardizzato dal World Wide Web Consortium (W3C). Questo modello è supportato da quasi tutti i browser moderni.
The IE4 DOM- Questo modello di oggetti documento è stato introdotto nella versione 4 del browser Internet Explorer di Microsoft. IE 5 e le versioni successive includono il supporto per la maggior parte delle funzionalità DOM W3C di base.
Il Legacy DOM
Questo è il modello introdotto nelle prime versioni del linguaggio JavaScript. È ben supportato da tutti i browser, ma consente l'accesso solo a determinate parti chiave dei documenti, come moduli, elementi di modulo e immagini.
Questo modello fornisce diverse proprietà di sola lettura, come title, URL e lastModified forniscono informazioni sul documento nel suo insieme. Oltre a ciò, ci sono vari metodi forniti da questo modello che possono essere usati per impostare e ottenere i valori delle proprietà del documento.
Proprietà del documento in DOM legacy
Di seguito è riportato un elenco delle proprietà del documento a cui è possibile accedere utilizzando Legacy DOM.
Suor n | Proprietà e descrizione |
---|---|
1 | alinkColor Deprecato: una stringa che specifica il colore dei collegamenti attivati. Example : document.alinkColor |
2 | anchors[ ] Un array di oggetti di ancoraggio, uno per ogni ancoraggio visualizzato nel documento. Example : document.anchors [0], document.anchors [1] e così via |
3 | applets[ ] Un array di oggetti applet, uno per ogni applet che appare nel documento. Example : document.applets [0], document.applets [1] e così via |
4 | bgColor Deprecato: una stringa che specifica il colore di sfondo del documento. Example : document.bgColor |
5 | Cookie Una proprietà con valori di stringa con un comportamento speciale che consente di interrogare e impostare i cookie associati a questo documento. Example : document.cookie |
6 | Domain Una stringa che specifica il dominio Internet da cui proviene il documento. Utilizzato per motivi di sicurezza. Example : document.domain |
7 | embeds[ ] Un array di oggetti che rappresentano i dati incorporati nel documento con il tag <embed>. Un sinonimo di plugin []. Alcuni plugin e controlli ActiveX possono essere controllati con codice JavaScript. Example : document.embeds [0], document.embeds [1] e così via |
8 | fgColor Una stringa che specifica il colore del testo predefinito per il documento. Example : document.fgColor |
9 | forms[ ] Un array di oggetti modulo, uno per ogni modulo HTML visualizzato nel documento. Example : document.forms [0], document.forms [1] e così via |
10 | images[ ] Un array di oggetti modulo, uno per ogni modulo HTML visualizzato nel documento con il tag HTML <img>. Example : document.forms [0], document.forms [1] e così via |
11 | lastModified Una stringa di sola lettura che specifica la data della modifica più recente al documento. Example : document.lastModified |
12 | linkColor Deprecato: una stringa che specifica il colore dei collegamenti non visitati. Example : document.linkColor |
13 | links[ ] È un array di collegamenti al documento. Example : document.links [0], document.links [1] e così via |
14 | Location L'URL del documento. Deprecato a favore della proprietà URL. Example : document.location |
15 | plugins[ ] Un sinonimo per gli incorporamenti [] Example : document.plugins [0], document.plugins [1] e così via |
16 | Referrer Una stringa di sola lettura che contiene l'URL del documento, se presente, da cui è stato collegato il documento corrente. Example : document.referrer |
17 | Title Il contenuto del testo del tag <title>. Example : titolo del documento |
18 | URL Una stringa di sola lettura che specifica l'URL del documento. Example : document.URL |
19 | vlinkColor Deprecato: una stringa che specifica il colore dei collegamenti visitati. Example : document.vlinkColor |
Metodi del documento nel DOM legacy
Di seguito è riportato un elenco di metodi supportati da Legacy DOM.
Suor n | Proprietà e descrizione |
---|---|
1 | clear( ) Deprecato: cancella il contenuto del documento e non restituisce nulla. Example : document.clear () |
2 | close( ) Chiude un flusso di documenti aperto con il metodo open () e non restituisce nulla. |
3 | open( ) Elimina il contenuto del documento esistente e apre un flusso in cui è possibile scrivere il nuovo contenuto del documento. Non restituisce nulla. Example : document.open () |
4 | write( value, ...) Inserisce la stringa o le stringhe specificate nel documento attualmente in fase di analisi o le aggiunge al documento aperto con open (). Non restituisce nulla. Example : document.write (valore, ...) |
5 | writeln( value, ...) Identico a write (), tranne per il fatto che aggiunge un carattere di nuova riga all'output. Non restituisce nulla. Example : document.writeln (valore, ...) |
Possiamo individuare qualsiasi elemento HTML all'interno di qualsiasi documento HTML utilizzando HTML DOM. Ad esempio, se un documento Web contiene un elemento del modulo, quindi utilizzando JavaScript, possiamo fare riferimento ad esso come document.forms [0]. Se il documento Web include due elementi del modulo, il primo modulo viene indicato come document.forms [0] e il secondo come document.forms [1].
Usando la gerarchia e le proprietà date sopra, possiamo accedere al primo elemento del form usando document.forms [0] .elements [0] e così via.
Esempio
Di seguito è riportato un esempio per accedere alle proprietà del documento utilizzando il metodo DOM legacy.
<html>
<head>
<title> Document Title </title>
<script type = "text/javascript">
<!--
function myFunc() {
var ret = document.title;
alert("Document Title : " + ret );
var ret = document.URL;
alert("Document URL : " + ret );
var ret = document.forms[0];
alert("Document First Form : " + ret );
var ret = document.forms[0].elements[1];
alert("Second element : " + ret );
} //
-->
</script>
</head>
<body>
<h1 id = "title">This is main title</h1>
<p>Click the following to see the result:</p>
<form name = "FirstForm">
<input type = "button" value = "Click Me" onclick = "myFunc();" />
<input type = "button" value = "Cancel">
</form>
<form name = "SecondForm">
<input type = "button" value = "Don't ClickMe"/>
</form>
</body>
</html>
Produzione
Il seguente output viene visualizzato in caso di corretta esecuzione del codice precedente.
Note- Questo esempio restituisce gli oggetti per moduli ed elementi. Dovremmo accedere ai loro valori utilizzando quelle proprietà dell'oggetto che non sono discusse in questo tutorial.