Foros del Web » Programando para Internet » Javascript »

DOM en Internet Explorer

Estas en el tema de DOM en Internet Explorer en el foro de Javascript en Foros del Web. Muy buenas a todo el foro. Estoy estudiando las posibilidades que nos presta la gestión del DOM y la verdad es que hace tiempo que ...
  #1 (permalink)  
Antiguo 11/12/2006, 12:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 30
Antigüedad: 17 años, 6 meses
Puntos: 0
DOM en Internet Explorer

Muy buenas a todo el foro.
Estoy estudiando las posibilidades que nos presta la gestión del DOM y la verdad es que hace tiempo que no me encuentro tan a gusto con esto de la programación. Pero... oh! no! otra vez la peculiaridades de ie acechan mi torpeza.

Por favor, chicos y chicas... Mirad el siguiente código, a ver si alguien me dá una pista...

function constructora(nombre,estilo){
...
var capa = document.createElement("div");
capa.setAttribute("id",nombre);
capa.setAttribute("class",estilo);
capa.setAttribute("onMouseOver","prueba(this)");
...
}

Gracias.
  #2 (permalink)  
Antiguo 11/12/2006, 13:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: DOM en Internet Explorer

Hola espantaperros

Parece ser que IE no se lleva bien con setAttribute. Prueba poniendolo así:

capa.id = nombre;
capa.className = estilo;
capa.onmouseover = function() {prueba(this)};

Saludos,
  #3 (permalink)  
Antiguo 11/12/2006, 16:45
 
Fecha de Ingreso: octubre-2006
Mensajes: 30
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: DOM en Internet Explorer

Muchas gracias, Javier.
A ver si acabo por entender los planteamientos del "browser mayoritario"
  #4 (permalink)  
Antiguo 12/12/2006, 01:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: DOM en Internet Explorer

Hola:

La asignación de atributos está bien, pero el atributo class en script se reconoce como className (supongo que class se reserva para futuros usos, así que explorer reconoce capa.setAttribute("className", estilo)... el id si que lo reconoce... por eso la forma que pone JavierB (¡Hola !) creo que es la más recomendable...
Normalmente los atributos estándar pueden asignarse directamente con el sistema del punto y también los corchetes: capa["className"] = estilo; pero con setAttribute y getAttribute puedes inventar tus propios atributos:
capa.setAttribute("miPropiedad", suValor);
rescatarValor = capa.getAttribute("miPropiedad");

Y el tema de los eventos el tratamiento DOM estándar es usando addEventListener que en este caso si que explorer tiene su propia forma (attachEvent)... pero la forma que te han propuesto es otra forma válida, aunque algo restringida porque no controla lo que se conoce como burbujeo, que básicamente sería la posibilidad o no de discriminar los elementos que reciben los eventos... si una capa tiene un evento programado y un elemento en su interior también, con el control del burbujeo se puede conseguir que solo uno de esos elementos lo apliquen... (más o menos)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 15:06.