Manipulación del DOM con javaScript
Jun01
A la hora de manipular el DOM tenemos el siguiente listado de expresiones
- document.getElementById(id_elemento);: Permite acceder al primer elemento con id “id_elemento”
- document.getElementsByTagName(elemento): Devuelve una lista de nodos con todos los elementos con el nombre “elemento”.
En caso de querer hacer referencia a un elemento específico, por ejemplo el primero, podríamos hacer uso de la expresión: document.getElementsByTagName(elemento)[0] - document.createElement(elemento);: Crea un nuevo elemento en el DOM
- document.createTextNode(“texto”);: Genera un nuevo nodo de texto.
- appendChild: Añade un nodo hijo a un padre concreto. Por ejemplo:
var nuevoEnlace = document.createElement("a"); var nodoTexto = document.createTextNode("Esto es un enlace"); nuevoEnlace.appendChild(nodoTexto); - elementoPadre.insertBefore(nuevoElemento, elementoReferenciado);: Inserta un elemento justo antes de otro que le especifiquemos.
- innerHTML: Permite introducir HTML dentro de una etiqueta.
- parentNode: Selecciona el nodo padre de un nodo en concreto.
- removeChild: Elimina un nodo hijo
- getAttribute(propiedad);: Devuelve el valor de una propiedad que le pasamos por parametro
- ancla.style.display: Devuelve un estilo concreto de un elemento
- document.getElementsByClassName(names);: Retorna un conjunto de elementos los cuales poseen la clase “names”.
getElementsByClassName pertenece a la nueva especificación de HTML5 y tan solo algunos navegadores lo soportan, por ejemplo Internet Explorer en todas sus versiones inferiores a la 9.
Hasta que todos los navegadores soporten getElementsByClassName podremos hacer uso de la siguiente función:
function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
Podemos encontrar información mas detallada en la siguiente página: Introducción a la manipulación del DOM mediante Javascript (Maestros del web)