What is the Document Object Model?
The current DOM standard is at https://dom.spec.whatwg.org/. It is a complete specification for the DOM and supersedes all previous DOM specifications.
The legacy DOM2 specification http://www.w3.org/TR/DOM-Level-2-Core/introduction.html described the DOM in the following terms:
The Document Object Model (DOM) is an application programming interface (API) for valid HTML and well-formed XML documents. It defines the logical structure of documents and the way a document is accessed and manipulated. [...] Nevertheless, XML presents this data as documents, and the DOM may be used to manage this data.
In other words, the DOM is not a string, but HTML/XML may represent the DOM as a string.
In the distant past, the DOM was limited in the kinds of elements that could be accessed. Form, link and image elements could be referenced with a hierarchical name that began with the root document object. A hierarchical name could make use of either the names or the sequential index of the traversed elements. For example, a form input element could be accessed as either
When is the DOM different than the HTML?
Here's one possibility: there are mistakes in your HTML and the browser has fixed them for you. Let's say you have a
<table> element in your HTML and leave out the required
<tbody> element. The browser will just insert that
DOM Living standard
Obsolete DOM specs
- DOM Level 1
- DOM Level 2 Core
- DOM Level 2 Views (Obsolete)
- DOM Level 2 Events
- DOM Level 2 Style
- DOM Level 2 Traversal and Range
- DOM Level 2 HTML
- DOM Level 3 Core
- DOM Level 3 Load and Save
- DOM Level 3 Validation
- DOM Level 3 Events
- DOM Level 3 XPath
- DOM Level 4 Core