¿JQuery fadeIn () y fadeOut () no funcionan con IE 8?

Tengo una página que fadeIn y fadeOut un elemento en línea y jQuery no funciona. Y luego, cuando cambio las Herramientas de desarrollo para usar el modo de navegador de IE 7, se muestran los efectos fadeIn () y fadeOut ().

IE tiene un detalle de implementación conocido como “hasLayout” que, lamentablemente, a menudo se filtra más allá de la abstracción de la API y debe tratarse de frente … Esta es la batalla que enfrenta hoy: los elementos en línea generalmente no tendrán “diseño” y por lo tanto, no funcionará con “filtros” … que son los que utiliza jQuery para simular la opacidad en IE.

Esto no es nuevo en IE8, y normalmente no tendrías que preocuparte por eso, ya que jQuery está pensado para este tipo de locura específica del navegador, por eso no me molesto. para entrar en detalles sobre lo que realmente significa “hasLayout” y “filtros” – probablemente no te importe, y no deberías tener que hacerlo (pero, si estás interesado, busca en Google …)

El problema es que el truco que jQuery usa bajo el capó para forzar el diseño (para que los filtros funcionen (para que pueda simular la opacidad (ya que IE no lo implementa))) … no funciona en IE8. ¿No es eso genial, eh? Arreglaron el error por el cual la display: inline elementos en display: inline comportaban como la display: inline-block elementos de display: inline-block , pero se olvidaron de implementar la característica que la gente estaba usando su error para piratear en el soporte para …

Bueno, nada que puedas hacer al respecto. Escribir un correo electrónico desagradable al Equipo IE puede hacer que te sientas un poco mejor, pero trabajan duro en IE9, que debería (en cuanto a la madera …) solucionar la mayoría de estos problemas. Mientras tanto, solo tendrá que hacer manualmente lo que IE solía hacer (algo, algo, y ciertamente de manera incorrecta) todo por sí mismo: forzar el elemento en línea en el modo de bloque en línea:

 $("myInlineElement").css({display: 'inline-block'}).faceOut(); 

… o mejor aún, póngalo en una hoja de estilo solo para IE8 …