2012-04-08 10 views

Antwort

16

Das DOM (Document Object Model) beginnt am document Knoten. Es wird als "Wurzelknoten" bezeichnet.

Beachten Sie die folgenden Baum (entsprechend nodeType s in Klammern):

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

Die tree¹ würde aus der folgenden Markup gebildet werden:

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

Notiere die deutlichen Mangel an Leerzeichen. Das Hinzufügen von Leerzeichen würde dem Dokumentbaum Textknoten hinzufügen und die Simulation deutlich erschweren.

Das Objekt window ist nicht Teil des DOM. Es ist ein Host-Objekt, das als "global object" implementiert wurde, um eine ECMAScript-Implementierung abzuschließen. Es hat seine own standard, die vom W3C verfügbar ist. Während das globale Objekt eine ECMAScript-Implementierung abschließen muss, ist das DOM nicht. Dies wird in der node.js-Umgebung veranschaulicht.

¹ Bestimmte Umgebungen ignorieren den Doctype-Knoten. Ich habe Opera 5-9 und Safari 3.1 als Umgebungen mit diesem Verhalten beobachtet.

+6

Dies ist die richtige Antwort, das DOM beginnt bei "Dokument". BTW, 'window' und seine Eigenschaften, Methoden und Ereignisse werden manchmal als" BOM "oder Browser-Objektmodell bezeichnet. – bfavaretto

+2

Rechts. Das DOM ist auch sprachunabhängig. Es ist nicht auf JavaScript oder ECMAScript beschränkt. –

+0

@MattMcDonald Genau wie Sie in der PHP-Bibliothek [DOMDocument] (http://php.net/manual/en/class.domdocument.php) sehen können. – alex

-6

Es gibt keinen öffentlichen Standard für Fenster, aber die meisten Browser unterstützen es mit Windows im Stammverzeichnis. Ich habe viele gute Sachen gefunden unter: http://www.w3schools.com (Ich habe keine Verbindung mit der Website).

Eine einfache Google-Suche nach "dom html" Bilder erhalten Sie Bilder. Dann ...

Wenn alles andere fehlschlägt - an die Quelle gehen: http://www.w3.org/TR/DOM-Level-2-HTML/html.html

+4

Danke für Ihre Antwort. Übrigens. Sie können dies überprüfen: http://w3fools.com/ – weilou

+3

Das Fenster hat seinen eigenen Standard. Bitte sehen Sie meine Antwort für einen Link. –

+2

Nur für den Fall, dass jemand, der diese Antwort in der Zukunft liest, denkt, dass es korrekt ist ... ist es nicht. Matt McDonalds Antwort ist * sprunghaft * besser als das. Auch *** NIE *** hören w3schools. Sie wissen nicht, wovon sie reden, und werden Sie in die Irre führen. – rlemon