Foros del Web » Programando para Internet » Javascript »

Error en getElementById

Estas en el tema de Error en getElementById en el foro de Javascript en Foros del Web. Hola, Tengo esta función en javascript, que me va poniendo los números de página para una tabla que voy paginando. El caso es que esta ...
  #1 (permalink)  
Antiguo 25/01/2008, 03:05
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 19 años, 2 meses
Puntos: 1
Error en getElementById

Hola,

Tengo esta función en javascript, que me va poniendo los números de página para una tabla que voy paginando. El caso es que esta función va incluyendo el número de página, y tb le voy dando estilo a la paginación, de forma que a la página actual que va creando le doy el estilo especial 'current' (está en una hoja css), y al resto de las páginas quiero quitarle ese estilo mediante la instrucción removeAttribute, para que sólo vaya resaltando la página actual.
La función es esta:
Código:
function naveg_pag(){
	var pagerHtml = document.getElementById('pagination');
	pagerHtml.setAttribute('className','pagination');
	var nuevoSpan = document.createElement('span');
	nuevoSpan.className='pagination';
	var a = document.createElement('a');
	a.id='pg'+pagina;
	a.setAttribute('href','javascript:mostrar_pag('+pagina+')');
	for(i=1;i<=pagina;i++){
		if(pagina_actual==i){
			alert("pongo atributo");
			document.getElementById('pg'+i).setAttribute('className','current');
		}
		else{
			alert("borro atributo");
			document.getElementById('pg'+i).removeAttribute('className');
		}
	}
	
	a.appendChild(document.createTextNode(pagina));
	nuevoSpan.appendChild(a);
	pagerHtml.appendChild(nuevoSpan);

	return;
}
Pero cuando intento ejecutar esto me da el error 'document.getElementById(...) es nulo o no es un objeto, en la línea:
document.getElementById('pg'+i).setAttribute('clas sName','current');
y no sé cómo solucionarlo para que sólo vaya aplicando o borrando el estilo a cada elemento...
Alguna ayudita pliss...

Gracias y un saludo!!
  #2 (permalink)  
Antiguo 25/01/2008, 06:59
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 2 meses
Puntos: 62
Re: Error en getElementById

Código:
for(i=1;i<=pagina;i++){
cambia por:

Código:
for(var i=1;i<=pagina;i++){
suerte!!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 25/01/2008, 08:10
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Mensaje Re: Error en getElementById

Cita:
Iniciado por lsobpla Ver Mensaje
Hola,
Código:
document.getElementById('pg'+i).setAttribute('className','current');
		
document.getElementById('pg'+i).removeAttribute('className');
Creo que deberias colcoar 'pg'+i cocantenada en otra variables para que no hagas referencia de ese modo cree que ahi puede estar tu error...

Prueba coloca

'pg'+i dentro de una variable y luego solo haces referencia a la variable en el getelementbyid..

Espero te sirva..

Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #4 (permalink)  
Antiguo 28/01/2008, 04:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 19 años, 2 meses
Puntos: 1
Re: Error en getElementById

Hola de nuevo!

He probado las opciones que me dais pero sigo teniendo el mismo error...
Incluso he llegado a meter el bucle for en una función a parte para ver si así se solucionaba, pero nada...no consigo encontrar la solución... Me parece superraro que no me deje hacer eso, ya que no veo que el código esté mal
¿Alguna ayuda más?
  #5 (permalink)  
Antiguo 28/01/2008, 05:12
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 2 meses
Puntos: 62
Re: Error en getElementById

veo que:
Código:
...
a.id='pg'+pagina;
...
pagina no esta declarado, de todas formas pon alert's para debugear.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #6 (permalink)  
Antiguo 29/01/2008, 02:15
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 19 años, 2 meses
Puntos: 1
Re: Error en getElementById

Ya he conseguido solucionarlo...
Resulta que los nuevos elementos que iba creando (<span>, <a>) no se habían agregado todavía a la página cuando yo intentaba acceder al id de uno de ellos. Poniendo el bucle for justo después de la instrucción:
Código:
pagerHtml.appendChild(nuevoSpan);
Funciona correctamente.

Gracias por las respuestas!!
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 21:30.