He estado probando el sitio de un cliente con los diferentes Navegadores (Firefox, IE6, IE7, Safari y Opera) y para variar he tenido más de algún problema, ya saben con quien!!, claro!! con el Internet Explorer 7 y no se diga con la versión 6 del IE (todo un asco de navegador).
Bueno, la cosa esta en que quiero editar dinamicamente mediante Javascript el valor de la propiedad CLASS (clase en español jeje) y al utilizar la propiedad setAttribute(‘class’,”NOMBRE_CLASE”) en el Explorer nomas no se realiza el cambio y en los demas navegadores todo va de maravilla.
Ahora bien, después de investigar un poco he encontrado que el IE no soporta el atributo ”class” y en lugar de eso utiliza uno llamado className.
Como he utilizado prototype para mayor compatibilidad solo es necesario poner el siguiente código:
<br /> if(Prototype.Browser.IE){<br /> $('etiqueta_ID_de_la_pagina').setAttribute("className","Nombre_de_mi_Clase");<br /> }else{<br /> $('etiqueta_ID_de_la_pagina').setAttribute("class","Nombre_de_mi_Clase");<br /> }<br />
La verdad esta muy fácil de entender, solo es cosa de agregar las librerías del prototype y usar la clausula del IF la cual nos indica si es Internet Exploder entonces se procede con el className y si es cualquier otro navegador decente se procede con el atributo class, asi de fácil.