2012-04-08 16 views

risposta

16

Il DOM (Document Object Model) inizia in corrispondenza del nodo document. Viene indicato come "nodo radice".

Osservare la seguente struttura (corrispondente nodeType s tra parentesi):

[HTMLDocument](9) 
    [DocumentType](10) 
    [HTMLHTMLElement](1) 
     [HTMLHeadElement](1) 
      [HTMLTitleElement](1) 
       [Text]Title(3) 
     [HTMLBodyElement](1) 

Il tree¹ sarebbe formato dalla seguente marcatura:

<!DOCTYPE HTML><html><head><title>Title</title></head></body></html> 

nota la netta mancanza di spazio bianco. L'aggiunta di spazi bianchi aggiungerebbe nodi di testo nell'albero del documento e renderebbe più difficile la simulazione.

L'oggetto window non fa parte del DOM. È un oggetto host implementato come "global object" per completare un'implementazione ECMAScript. Ha il suo own standard che è disponibile dal W3C. Mentre l'oggetto globale è richiesto per completare un'implementazione ECMAScript, il DOM non lo è. Questo è esemplificato nell'ambiente node.js.

¹ Alcuni ambienti ignorano il nodo doctype. Ho osservato Opera 5-9 e Safari 3.1 come ambienti che mostrano questo comportamento.

+6

Questa è la risposta corretta, il DOM inizia da 'document'. BTW, 'window' e le sue proprietà, metodi ed eventi sono a volte indicati come" BOM ", o Browser Object Model. – bfavaretto

+2

Giusto. Il DOM è anche indipendente dalla lingua. Non è limitato a JavaScript né a ECMAScript. –

+0

@MattMcDonald Esattamente, come è possibile osservare nella libreria PHP [DOMDocument] (http://php.net/manual/en/class.domdocument.php). – alex

-6

Non esiste uno standard pubblico per la finestra, ma la maggior parte dei browser lo supporta con Finestra nella radice. Ho trovato un sacco di cose buone a: http://www.w3schools.com (Non ho alcuna connessione con il sito).

Una semplice ricerca su google per le immagini "dom html" consente di ottenere immagini. Poi ...

Quando tutto il resto fallisce - andare alla fonte: http://www.w3.org/TR/DOM-Level-2-HTML/html.html

+4

Grazie per la risposta. BTW. Potresti controllare questo: http://w3fools.com/ – weilou

+3

La finestra ha il suo standard. Si prega di vedere la mia risposta per un collegamento. –

+2

Nel caso in cui qualcuno leggendo questa risposta in futuro pensa che sia corretto .. non lo è. La risposta di MattMcDonald è * salti mortali * meglio di così. Inoltre *** MAI *** non ascoltare w3schools. Non sanno di cosa stanno parlando e ti maltratteranno. – rlemon