Manejo de DOM

Navegar por nodos

Marcia Millanao
Laboratoria Developers
3 min readMay 8, 2017

--

En DOM podemos navegar por los nodos gracias a JavaScript. Con él podemos crear nuevos Nodos, eliminar o modificar, para ello debemos tener claro la relación entre nodos:

  • Cada elemento del Html es un nodo
  • Los textos existentes en los elementos Html son nodos textos
  • Cada atributo que existe en Html es un nodo atributo
  • Todos los comentarios son nodos comentarios

Los nodos en los árboles de nodos tienen una relación jerárquica entre si. Esta relación es entre padre, hijos o hermanos:

  • En nuestro árbol de nodos siempre tenemos un nodo padre, que también es llamado nodo raíz.
  • Todos los nodos tienen un padre, a excepción del nodo raíz.
  • Un nodo puede tener una cantidad de hijos
  • Son nodos hermanos aquellos nodos que tienen el mismo padre

Del ejemplo anterior podemos decir que:

También tenemos la opción de las siguientes propiedades para acceder a los nodos.

  • .parentNode : selecciona el elemento padre de otro elemento
  • .childNodes : retorna todos los hijos del padre elemento.
  • .firstChild : retorna el primer nodo hijo de un elemento.
  • .lastChild : retorna el ultimo nodo hijo de un elemento.
  • .nextSibling : selecciona el siguiente hermano de un elemento.
  • .previousSibling : selecciona el hermano anterior de un elemento.

Para crear nuevos nodos debemos seguir los siguientes pasos:

Paso 1 crear un nuevo nodo

  • document.createElement() : crea un nodo elemento
  • document.createAttribute() : crea atributo al elemento
  • document.createTextoNode() : crea un nodo texto
  • document.createComment() : crea un nodo comentario

Paso 2 se añade nodo creado

  • .appendChild() : se utiliza para asignarle padre a un nodo

Para eliminar un nodo se utiliza .removeChild()

Modificar atributos

  • .getAttribute() : devuelve el valor del atributo especificado en un elemento.
  • .setAttribute() : agrega o modifica el atributo de un elemento.
  • .hasAttribute() : devuelve verdadero si existe el atributo especificado, de lo contrario falso.
  • .removeAttribute() : elimina el atributo especificado.
  • .classList() : devuelve el nombre de la clase de un elemento.

--

--