Foros del Web » Programando para Internet » Javascript »

Problema con atributo setAttribute()

Estas en el tema de Problema con atributo setAttribute() en el foro de Javascript en Foros del Web. Hola, tengo un problema con un script, quiero cambiar un atributo de un tag, pero en IE no me funciona, mientras que el firefox si, ...
  #1 (permalink)  
Antiguo 21/10/2005, 09:15
 
Fecha de Ingreso: septiembre-2005
Ubicación: Vejer de la Fra, Cádiz
Mensajes: 83
Antigüedad: 18 años, 7 meses
Puntos: 0
Problema con atributo setAttribute()

Hola, tengo un problema con un script, quiero cambiar un atributo de un tag, pero en IE no me funciona, mientras que el firefox si, lo que yo hago es esto:

document.getElementById('princ_'+antes).setAttribu te("onMouseOut","javascript:this.style.background = 'url(menus/"+antes+".jpg)'");

¿¿¿hay otra manera de hacer esto y que funcione en varios navegadores???

Gracias.
  #2 (permalink)  
Antiguo 21/10/2005, 09:39
 
Fecha de Ingreso: septiembre-2005
Ubicación: Vejer de la Fra, Cádiz
Mensajes: 83
Antigüedad: 18 años, 7 meses
Puntos: 0
he visto por el foro una manera de hacerlo, pero lo que he visto es para hacerlo con onclick y yo lo que busco es modificar el elemento onmouseout.

he probado lo que pone en el ejemplo del foro sobre el elemento onclick, pero cambiandolo por onmouseout, pero no me funciona.

a ver si alguien me puede hechar una mano. Gracias.
  #3 (permalink)  
Antiguo 21/10/2005, 09:43
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Pastilla666

Prueba de esta forma:

document.getElementById('princ_'+antes).onmouseout = function() {this.style.background = 'url(menus/"+antes+".jpg)'}

Saludos,
  #4 (permalink)  
Antiguo 22/10/2005, 03:21
 
Fecha de Ingreso: septiembre-2005
Ubicación: Vejer de la Fra, Cádiz
Mensajes: 83
Antigüedad: 18 años, 7 meses
Puntos: 0
Hola JavierB, gracias por tu respuesta, parece que va bien, pero me sigue dando un problemilla, te explico:

Tengo un menu desplegable que saque de la pagina de Carlitos, pero lo he modificado un poco, te pongo el codigo del script:

Script
Cita:
function cambio(familia)
{
//La variable "familia" contiene el id del elemento del menu al que le damos
//La variable "antes" contiene el id del elemento anterior del menu al que le dimos
var gko = navigator.userAgent.toLowerCase();

//Entra para hacer los cambios a la opcion anterior del menu, si la hubiese.
if (antes != 0 && antes != familia)
{
document.getElementById(antes).style.display = 'none';

var elemento_antes = document.getElementById('princ_'+antes);

if (gko.indexOf('gecko')!=-1) //si soporta gecko, es Mozilla, Netscape, Safari, etc
{
elemento_antes.setAttribute("style","background-image:url(menus/"+antes+".jpg);");
elemento_antes.setAttribute("onMouseOut","javascri pt:this.style.background = 'url(menus/"+antes+".jpg);'");
}
else //es I Explroer
{
elemento_antes.setAttribute("style","background-image:url(menus/"+antes+".jpg);");
elemento_antes.onmouseout = function() {elemento_antes.style.background = "url(menus/"+antes+".jpg)"};
}
}

//Entra para hacer los cambios en la opcion del menu clickeada.
if (document.getElementById(familia).style.display == 'none')
{
document.getElementById(familia).style.display = 'block';

var elemento = document.getElementById('princ_'+familia);

if (gko.indexOf('gecko')!=-1) //si soporta gecko, es Mozilla, Netscape, Safari, etc
{
elemento.setAttribute("style","background-image:url(menus/"+familia+"_2.jpg);");
elemento.setAttribute("onMouseOut","javascript:thi s.style.background = 'url(menus/"+familia+"_2.jpg)'");
}
else //es I Explroer
{
elemento.setAttribute("style","background-image:url(menus/"+familia+"_2.jpg);");
elemento.onmouseout = function() {this.style.background = "url(menus/"+familia+"_2.jpg)"}
}
}
antes = familia;
}


Bien, al darle a una de las opciones del menu por primera vez, todo va bien, solo entra en la segunda condicion y me cambia las imagenes del "onmouseout" como me dijiste, pero al darle por segunda vez a una opcion, quiero que la opcion anterior vuelva a su estado natural, pero en vez de eso lo que me hace es que la imagen que le pone al "onmouseout" es la imagen del elemento del menu al que le acabamos de dar, ademas de no cambiarme el estilo del "background-image" que tengo puesto, no se si me explico .

Gracias por tu ayuda y a ver si me puedes echar una manita con esto.
  #5 (permalink)  
Antiguo 25/10/2005, 06:51
 
Fecha de Ingreso: septiembre-2005
Ubicación: Vejer de la Fra, Cádiz
Mensajes: 83
Antigüedad: 18 años, 7 meses
Puntos: 0
por favor ayudaaaaaaaaaaaaaa
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 07:24.