DOM JavaScript
DOM JavaScript
Javascript: el
DOM (Modelo
de Objetos del
Texto
Documento)
http://www.flickr.com/photos/jm3/3620744443
Javascript parte 4 1. El árbol DOM
El DOM
Texto
Niveles (versiones)
0: impuesto por Netscape y Microsoft a principios de la “guerra de
navegadores” (finales de los 90)(Explorer 4, Netscape 4). En realidad no
existe un “DOM 0 estándar” como tal, es una forma de hablar.
1 (a partir de aquí, del W3C): contenido dinámico
2: estilos dinámicos, eventos
3: “serialización” de XML (permite p.ej. guardar documentos), eventos de
teclado,...
DOM 1 Javascript: el DOM 4
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de DOM</title>
</head>
<body>
<!-- es un ejemplo un poco simple -->
<p style=“color:red”>Bienvenidos al <b>DOM</b></p>
</body>
</html>
El árbol del documento Javascript: el DOM 6
html
DocumentType
Bienvenidos al b Comment
Ejemplo de DOM
DOM
Todos los nodos son del “tipo” Node, pero hay distintos “subtipos”:
Document, DocumentType, Element, Text, Comment, …
Aunque los atributos de las etiquetas son nodos de tipo Attr, “no
están” en el árbol, hay que acceder a ellos con métodos del nodo
que los posee.
Javascript parte 4 2. Obtener
El DOM información del
documento
Texto
NOTA: en Explorer, las ctes. Node.XXX_NODE no están predefinidas, hay que utilizar el valor numérico
Cómo acceder a un nodo desde otro Javascript: el DOM 10
documento
Cambiar los datos de un nodo Javascript: el DOM 14
Métodos de la clase Node, los llama el que va a ser “padre” del nodo
a insertar / el padre del que se va a eliminar
Insertar nodos
appendChild(nuevoHijo): Añade el hijo al final de todos los hijos actuales
insertBefore(nuevoHijo, hijoReferencia). Inserta el nuevo hijo justo antes
del “hijo de referencia”
setAttribute(nuevoAtributo, nuevoValor). Si el atributo no existía, lo
crea. Como ya se ha visto, si existía cambia su valor
Eliminar nodos
removeChild(hijoABorrar): un nodo deja de ser hijo
replaceChild(nuevoHijo, hijoAntiguo): reemplaza un hijo por otro nuevo
Javascript, parte 4 4. DOM HTML
El DOM
Texto
17
DOM 1 HTML Javascript: el DOM 18