10 - Accediendo a un conjunto de marcas HTML similares (getElementsByTagName) |
Disponemos en el objeto documento de un método llamado:
getElementsByTag("Nombre de la Marca")
Retorna un vector con la referencia a todas las marcas de dicho tipo.<html> <head> <title>Problema</title> <script languaje="javascript" src="funciones.js" type="text/javascript"></script> </head> <body> <p>Este es el primer párrafo</p> <p>Este es el segundo párrafo</p> <p>Este es el tercer párrafo</p> <input type="button" value="Agregar un punto al final de cada párrafo" onClick="cambiarParrafos()"> </body> </html>Luego el archivo funciones.js es:
function cambiarParrafos()
{
var lista=document.getElementsByTagName('p');
for(f=0;f<lista.length;f++)
{
lista[f].childNodes[0].nodeValue=lista[f].childNodes[0].nodeValue + '.';
}
}
Hay que tener en cuenta que en el vector lista se almacena la referencia a todas las marcas de tipo párrafo (p) de la página. Luego para acceder al contenido de cada párrafo debemos hacerlo mediante el vector childNodes y mediante la propiedad nodeValue acceder al texto contenido en dicho párrafo. Disponemos el subíndice cero en la propiedad childNodes ya que los párrafos definidos en el ejemplo tienen como hijo sólo un texto.
for(f=0;f<lista.length;f++)
{
lista[f].childNodes[0].nodeValue=lista[f].childNodes[0].nodeValue + '.';
}