on el DOM de HTML, se puede navegar por el árbol de nodos utilizando relaciones de nodo.
De acuerdo con el estándar W3C HTML DOM, todo en un documento HTML es un nodo:
Con el DOM HTML, todos los nodos en el árbol de nodos se puede acceder mediante JavaScript.
Nuevos nodos pueden ser creados, y todos los nodos pueden ser modificados o eliminados.
Los nodos en el árbol de nodos tienen una relación jerárquica entre sí.
El términos padre, hijo, hermano y se usan para describir las relaciones.
<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h1>DOM Lesson one</h1>
<p>Hello world!</p>
</body>
</html>
Desde el HTML anterior se puede leer:
y:
Puede utilizar las siguientes propiedades del nodo para navegar entre los nodos con JavaScript:
Un error común en el procesamiento de DOM es esperar un nodo elemento para contener texto.
<title id="demo">DOM Tutorial</title>
El nodo de elemento <title> (en el ejemplo anterior) no no contienen texto.
Contiene un nodo de texto con el valor "DOM Tutorial".
El valor del nodo de texto se puede acceder por el nodo de innerHTML propiedad:
var myTitle = document.getElementById("demo").innerHTML;
Acceso a la propiedad innerHTML es el mismo que el acceso a la nodeValue del primer hijo:
var myTitle = document.getElementById("demo").firstChild.nodeValue;
Acceso al primer hijo también se puede hacer de esta manera:
var myTitle = document.getElementById("demo").childNodes[0].nodeValue;
La propiedad nodeValue especifica el valor de un nodo.
La propiedad nodeName especifica el nombre de un nodo.
Obtenga el contenido HTML del primer nodo hijo de un elemento <ul>:
var x = document.getElementById("myList").firstChild.innerHTML;
Obtenga el contenido HTML del último nodo hijo de un elemento <ul>:
var x = document.getElementById("myList").lastChild.innerHTML;
Obtenga el contenido HTML del siguiente hermano de un elemento de lista:
var x = document.getElementById("item1").nextSibling.innerHTML;
Obtenga el contenido HTML del hermano anterior de un elemento de lista:
var x = document.getElementById("item2").previousSibling.innerHTML;