Foros del Web » Programando para Internet » Javascript »

contar elementos con getElementsByTagName()

Estas en el tema de contar elementos con getElementsByTagName() en el foro de Javascript en Foros del Web. Hola, Cuando hago un document.getElementsByTagName('tr'); como puedo saber cuantos elementos encuentra? si hago un alert de eso me muestra [object HTML Collection] pero yo lo ...
  #1 (permalink)  
Antiguo 03/02/2005, 06:59
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 6 meses
Puntos: 0
contar elementos con getElementsByTagName()

Hola,

Cuando hago un document.getElementsByTagName('tr'); como puedo saber cuantos elementos encuentra?

si hago un alert de eso me muestra [object HTML Collection] pero yo lo que quiero es recuperar el numero total de tr que ha encontrado.

gracias. ando mu pez. glu glu glu glu
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #2 (permalink)  
Antiguo 03/02/2005, 07:00
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Buenas...
has probado a pedirle un alert(document.getElementsByTagName('tr').length) ??
  #3 (permalink)  
Antiguo 03/02/2005, 07:02
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 6 meses
Puntos: 0
El caso esta en que tengo esta funcion:

Código:
function cerrar(obj){
	alert(document.getElementsByTagName("tr"));
	email=document.getElementById("emailNode"); 
	email.parentNode.removeChild(email.parentNode.childNodes[mailcount+5]);
	mailcount --;
	if (mailcount==0){
		//retirar el código para borrar la última dirección de mail 
		document.getElementById("mailManagment").removeChild(document.getElementById("cerrarMail"));
	}
}
con ella elimino los campos de formulario que he creado dinamicamente, pero donde hago el parentNode.removeChild he de pasarle al mailcount un "+5" que es el numero de TR que hay de serie en la tabla antes de agregarle ningún campo extra.

Y para eso quiero el getElementsByTagName('tr') para comprobar cuantos recoge y no tener q ir cambiando el numerito manualmente siempre q implemente eso.

Alguien me ha entendido...
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #4 (permalink)  
Antiguo 03/02/2005, 07:17
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 8 meses
Puntos: 772
Hola markshock

Creo que te refieres a esto:

document.getElementsByTagName("tr").length;

Saludos,
  #5 (permalink)  
Antiguo 03/02/2005, 08:52
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 6 meses
Puntos: 0
nuevamente, gracias!!!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #6 (permalink)  
Antiguo 03/02/2005, 09:44
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 10 meses
Puntos: 61
Yo me quiero unir y tambien decir que debes usar el

document.getElementsByTagName("tr").length;

Un saludo
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 03/02/2005, 09:47
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 8 meses
Puntos: 772
¡Oops! No había visto el mensaje de tunait, pero ahora que he leido el tema completo estoy empezando a creer que la mejor solución es: document.getElementsByTagName("tr").length;
  #8 (permalink)  
Antiguo 03/02/2005, 09:51
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 10 meses
Puntos: 38
¿tunait? ¿cual mensaje de tunait?

=)
  #9 (permalink)  
Antiguo 03/02/2005, 09:54
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 6 meses
Puntos: 0
gracias gente...

es que no dispongo de mucho tiempo para poder mirarme desde el principio de todo la info sobre DOM y he de ir a saco en cuanto necesito algo especifico, el tiempo apreta.

He encontrado la página de http://www.w3schools.com/htmldom/ muy pero que muy instructiva y practica.

saludos, solo quería compartir con vosotros esta info.
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #10 (permalink)  
Antiguo 03/02/2005, 10:02
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Cita:
Iniciado por Kaopectate
¿tunait? ¿cual mensaje de tunait?

=)


p.d. creo que document.getElementsByTagsName('tr').length ahorraría muchas líneas de código
  #11 (permalink)  
Antiguo 03/02/2005, 10:02
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Cita:
Iniciado por markshock
gracias gente...

es que no dispongo de mucho tiempo para poder mirarme desde el principio de todo la info sobre DOM y he de ir a saco en cuanto necesito algo especifico, el tiempo apreta.

He encontrado la página de http://www.w3schools.com/htmldom/ muy pero que muy instructiva y practica.

saludos, solo quería compartir con vosotros esta info.
Gracias por el link, markshock
  #12 (permalink)  
Antiguo 03/02/2005, 10:11
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 10 meses
Puntos: 38
Gracias por el link, makrshock
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 19:30.