9 - Otras formas de acceder a los nodos hijos (firstChild - lastChild) |
Habiamos visto anteriormente que podemos acceder a todos los hijos de un nodo por medio del vector childNodes. Otra forma de acceder al primer y último nodo hijo es por medio de las propiedades firstChild (retorna la referencia del primer hijo, es lo mismo que poner obj.childNodes[0]) y obj.lastChild (retorna la referencia del último hijo, es sinónimo de poner obj.childNodes[obj.childNodes.length-1])
Veamos con un ejemplo como utilizar estas dos propiedades, dispondremos tres párrafos dentro de un div y luego cambiaremos el color del primer y último párrafo (Para hacerlo compatible entre IExplorer y FireFox dispondremos todos los párrafos en la misma línea, lo mismo que el comienzo y fin del div)
pagina1.html<html> <head> <title>Problema</title> <script language="javascript" src="funciones.js" type="text/javascript"></script> </head> <body> <div id="parrafos"><p>Este es el primer párrafo</p><p>Este es el segundo párrafo</p><p> Este es el tercer párrafo</p></div> <input type="button" value="Modificar color del primer y último párrafo" onClick="accederParrafos()"> </body> </html>funciones.js
function accederParrafos()
{
var puntero=document.getElementById('parrafos');
puntero.firstChild.style.color='#ff0000';
puntero.lastChild.style.color='#ff0000';
}
Primero obtenemos la referencia al div:
var puntero=document.getElementById('parrafos');
Luego con esta referencia y a través de la propiedad firstChild accedemos a la propiedad style del nodo hijo y modificamos el valor del color:
puntero.firstChild.style.color='#ff0000';De modo similar obtenemos la referencia al último nodo hijo del div:
puntero.lastChild.style.color='#ff0000';