Foros del Web » Programando para Internet » Javascript »

setAttribute sólo funciona con firebug activado

Estas en el tema de setAttribute sólo funciona con firebug activado en el foro de Javascript en Foros del Web. Hola a todos y gracias de antemano por la ayuda: Tengo la siguiente función: function listar(){ var obj=document.getElementById("pantalla"); var largo=obj.getElementsByTagName('div').length; for (n=1; n<largo;n++){ var hijo=obj.getElementsByTagName('div')[n]; ...
  #1 (permalink)  
Antiguo 03/06/2016, 05:45
 
Fecha de Ingreso: noviembre-2013
Mensajes: 10
Antigüedad: 10 años, 4 meses
Puntos: 1
setAttribute sólo funciona con firebug activado

Hola a todos y gracias de antemano por la ayuda:

Tengo la siguiente función:

function listar(){
var obj=document.getElementById("pantalla");
var largo=obj.getElementsByTagName('div').length;
for (n=1; n<largo;n++){
var hijo=obj.getElementsByTagName('div')[n];
var texto=hijo.innerHTML;
var nom=hijo.id;
var esdir=nom.substring(0,3);
if (esdir=='dir'){
var elmt=document.getElementById(nom);
elmt.setAttribute('onClick', "entrar(event)");
}else{
var elmt=document.getElementById(nom);
elmt.setAttribute('onClick', "bajar(event)");
};
};

...en la que cojo todos los div hijos del div "pantalla" y si su id empieza por div les añado el atributo onclick con la función entrar() y sino, les añado en mismo atributo con la función bajar().

El problema? La función funciona perfectamente si tengo el firebug activado y tengo alguna pausa puesta en el código (para hacer debug), pero si no tengo pausas o el firebug está desactivado no funciona y no da ningún error.

¿Alguna idea? porque ya empiezo a creer en fantasmas

Gracias
  #2 (permalink)  
Antiguo 03/06/2016, 13:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: setAttribute sólo funciona con firebug activado

firebug no debería interferir, borra la caché del navegador e intenta de nuevo
  #3 (permalink)  
Antiguo 04/06/2016, 06:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: setAttribute sólo funciona con firebug activado

como te comentan no incide en nada en el resultado. te ocurre con otros navegadores??

el código es susceptible de mejora. a groso modo .....
  • getElementsByTagName ---> document.querySelectorAll('#pantalla > div')
  • for --> forEach()
  • nom.substring(0,3) --> nom.indexOf('dir')
  • setAttribute('onClick', "entrar(event)") --> addEventListener()
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: firebug, funcion, html
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 18:43.