Foros del Web » Programando para Internet » Javascript »

Utilizar correctamente DOM en javascrip

Estas en el tema de Utilizar correctamente DOM en javascrip en el foro de Javascript en Foros del Web. Tengo el siguiente Código que se supone debe detectar todos los parrafos en mi archivo html lo que esta en comentarios es la respuesta del ...
  #1 (permalink)  
Antiguo 11/03/2011, 14:03
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 1
Utilizar correctamente DOM en javascrip

Tengo el siguiente Código que se supone debe detectar todos los parrafos en mi archivo html lo que esta en comentarios es la respuesta del navegador.

Código:
var parrafos = document.getElementsByTagName("p");
var cantidad = parrafos.length;
alert(cantidad); //0
alert(parrafos); //Object node list
alert(parrafos[0]); //Indefinido


/*
for(var i=0; i<parrafos.length; i++) {
  var parrafo = parrafos[i];
  alert(parrafo);
  alert("funciona?");
}
*/
el manual me dice que el alert de párrafos debería decirme cuantos párrafos hay en mi pagina y ir al párrafo según su posición del vector en mi archivo html hay 3 parrafos que mas me esta faltando?
  #2 (permalink)  
Antiguo 11/03/2011, 14:51
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Utilizar correctamente DOM en javascrip

los elementos aún no están cargados cuando se ejecuta la función. puedes hacer varias cosas, por ejemplo, llevarla al final del documento, antes de la etiqueta </body> o en la etiqueta <body> invocar la función con el evento onload
  #3 (permalink)  
Antiguo 11/03/2011, 15:23
 
Fecha de Ingreso: mayo-2008
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Utilizar correctamente DOM en javascrip

ese tiene sentido, tiene demasiado sentido. Acabo de probar el script y funciono sin necesidad del onload, pero llamando el script después de los párrafos tal como recomendo, muchas gracias por su respuesta.

Etiquetas: correctamente, dom
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:48.