Con el modelo del objeto, JavaScript nos permite transformar la página HTML dinámicamente:
DOM (en inglés, Document Object Model, es decir, Document Object Model) es una API administrada por W3C. El DOM proporciona un conjunto de objetos específicos para mostrar documentos HTML y XML y cómo utilizar y modificar estas reglas de objetos. Así, los lenguajes de tipo JavaScript permiten cambiar dinámicamente el contenido, la estructura y el formato de un documento HTML o XML.
DOM apareció por primera vez en el navegador Netscape 2.0. Posteriormente, Netscape 4.0 agregó una oportunidad para detectar eventos de dispositivos. El explorador de Microsoft, Internet Explorer, comenzó su tercera versión usando las primeras características de DOM.
En octubre de 1998, y en cuanto a las diferencias entre los navegadores, el W3C publicó la especificación "DOM Level 1" para establecer las características y modos de todos los elementos de los documentos HTML y XML. En noviembre de 2000, el W3C lanzó "DOM Level 2", donde se establecieron interacciones con páginas CSS. En abril de 2004 creó "Dom Level 3" utilizando DTD y validación de documentos.
Aunque el estándar W3C establece DOM, muchos navegadores (especialmente Internet Explorer) han creado complementos para este modelo, creando problemas de compatibilidad. Estos problemas fueron serios en la batalla entre Netscape Navigator y Microsoft Internet Explorer, donde los desarrolladores web a menudo tenían que crear diferentes versiones para estos navegadores. En los últimos años, sin embargo, la necesidad de compatibilidad y estándares ha aumentado, y la mayoría de los navegadores actuales (Firefox, Opera, Safari, Konqueror, etc.) cumplen con las reglas DOM establecidas por el W3C. Sin embargo, Microsoft Internet Explorer (el navegador principal del mercado, que forma parte del sistema operativo Windows), continúa utilizando sus propios complementos en sus últimas versiones.
Document
, raíz del nodo, todos los demás se derivan de esto.Element
, Indican cada etiqueta XHTML. Son nodos que pueden ser atribuidos y pueden derivarse de otros nodos.Attr
,Indica el atributo de las etiquetas XHTML, es decir, un atributo = un par de valores.Text
, Texto dentro de la etiqueta XHTML.Comment
, Sugerencias en el documento XHTML.Los siguientes nodos también existen, pero no vamos a tener en cuenta: DocumentType
,CDataSection
, DocumentFragment
, Entity
, EntityReference
, ProcessingInstruction
y Notation