Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4.4 Dom
4.4 Dom
4 DOM
Document Object Model
4.4 Documento Object Model (DOM)
• Es una plataforma y un lenguaje, con una interface neutral, que permite a los programas y
scripts acceder de manera dinámica y actualizar el contenido, la estructura y el estilo de los
documentos.
• También es posible recorrer cualquier XML que se cree en forma manual o que se reciba vía
Ajax. Referencia
Referencia: Firtman Maximilinao Ajax Web 2.0 con jQuery para profesionales 2 Edición, pág. 100
Copyright 2013 MC Fco. Fabián González de la O.
• 4.4.1 Estructura del DOM
La estructura de un documento DOM es jerárquica y se asemeja a un árbol genealógico, en el que se incluyen conceptos como hijos, padres, hermanos.
HTML
HEAD BODY
DIV SPAN DIV
TABLE
A
TR TR TR
A Referencia
TD TD TD
Referencia: Firtman Maximilinao Ajax Web 2.0 con jQuery para profesionales 2 Edición, pág. 100 a 101
Copyright 2013 MC Fco. Fabián González de la O.
4.4.2 DOM - Objetos
• Existen dos tipos de objetos:
• El que representa a todo el documento
• El que representa a cada uno de los nodos o etiquetas de la estructura
jerárquica.
Etiqueta
<clientes> ID Atributos
Nodo Hijo
Referencia: Firtman Maximilinao Ajax Web 2.0 con jQuery para profesionales 2 Edición, pág. 102
Copyright 2013 MC Fco. Fabián González de la O.
4.4.3 DOM – Propiedades de los nodos
• El objeto documento representa a TODO el DOM y encapsula todo su contenido. Este objeto no se debe confundir con el Nodo Raíz
• Básicamente contiene todos los métodos de cualquier nodo y además incorpora la propiedad documentElement que devuelve el objeto nodo raíz.
Referencia: Firtman Maximilinao Ajax Web 2.0 con jQuery para profesionales 2 Edición, pág. 102
Copyright 2013 MC Fco. Fabián González de la O.
4.4.4 DOM – Métodos de los nodos
Todos los nodos poseen los siguientes métodos o funciones:
setAttribute(atributo,valor) define un atributo en el nodo.
getAttribute(atributo) devuelve el valor de un atributo.
removeAttribute(atributo) elimina el atributo del nodo.
getElementById(id) devuelve el nodo con el id especificado.
getElementsByTagName(tag) devuelve un arreglo con todos los nodos descendientes de
la etiqueta proporcionada.
createElement(etiqueta) Instancia un objeto nodo de la etiqueta proporcionada.
appendChild(nodo) agrega como hijo nuevo del hijo actual el nodo recibido por
el parámetro.
insertBefore(nodo1,nodo2): Inserta como hijo del nodo actual el nodo recibido por el
parámetro pero antes que el otro parámetro.
Referencia
Referencia: Firtman Maximilinao Ajax Web 2.0 con jQuery para profesionales 2 Edición, pág. 100
Copyright 2013 MC Fco. Fabián González de la O.
4.4.5 DOM - Ejemplo 1. <?xml versión 1.0?>
• Ejemplo: Supongamos que tenemos el siguiente XML cargado en una variable
2. <armadoras>
llamada xml. 3. <armadora Id=”1” nombre=”Ford” />
4. <armadora Id=”2” nombre=”Chrysler” >
5. <marca>Dodge Dart</marca>
6. <marca>Dodge Journey</marca>
7. </armadora>
8. </armadoras>
Si ejecutamos Obtenemos
var c=xml.documentElement; El nodo armadoras (2)
c.childNodes; Un vector que contiene 3 y 4
c.firstChild.tagName; armadora
c.firstChild.getAttribute(“nombre”) Ford
c.firstChild.getAttribute(“precio”) undefined
c.childNodes[1].childNodes Un vector que contiene 5 y 6
var cc=c.getElementById(“2”); El nodo armadora (4)
cc.childNodes[0].nodeValue Dodge Dart
Copyright 2013 MC Fco. Fabián González de la O.
4.4.6 DOM – Propiedades Útiles en XHTML
• Cuando utilizamos DOM dentro de un (X)HTML, es decir con el objeto window.document hay ciertas ventajas como:
• Leer y asignar atributos sin utilizar getAttribute o setAttribute, si no directamente con el nombre de la propiedad como:
• Acceder directamente a la propiedad utilizando notación de punto
• document.getElementById(“tblcliente”).cellspacing=10;
• document.getElementById(“tblcliente”).width=100%;
• La única excepción es la definición del atributo class, que permite definir el nombre de una regla CSS de clase. Como es una
palabra reservada de JavaScript, se reemplazó esta propiedad por classname cuando se accede por medio de propiedades.
• document.getElementById(“txtNombre”).classname= “txtError”;
Referencia: Firtman Maximilinao Ajax Web 2.0 con jQuery para profesionales 2 Edición, pág. 105
Copyright 2013 MC Fco. Fabián González de la O.
4.4.6 DOM – Propiedades Útiles en XHTML
• this – Objeto especial que sirve para representar el nodo actual. Se utiliza para trabajar con propiedades dentro de la clase.
• El acceso (lectura o escritura) a una propiedad fuera de la clase se hace con la sintaxis: NombreObjeto.Propiedad. Dentro de la clase la sintaxis de
this.Propiedad se utiliza para obtener o establecer el valor de la propiedad.
Referencia
Referencia: Firtman Maximilinao Ajax Web 2.0 con jQuery para profesionales 2 Edición, pág. 106
Copyright 2013 MC Fco. Fabián González de la O.