Hoy me llamó la atención que una combinación de selectores jQuery y la función addClass() no funciona correctamente en IE8.IE8 y jQuery selectores
Por ejemplo, cuando quiero para asegurarse de que las filas de número par se seleccionan en una mesa, me escribió:
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").addClass("even");
}
Y para el CSS, escribí:
#table1 tr:nth-child(even), #table1 tr.even {
background-color: #ff0;
}
En Firefox , Chrome, Safari y Opera, incluso sin el selector de pseudoclases en el archivo CSS, se seleccionan las filas pares. Sin embargo, en IE8, no es el caso. Las filas no tienen un color de fondo diferente.
Esto es raro porque cuando utilicé:
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").css({"background-color":"#ff0"});
}
Las filas seleccionadas se resaltan en IE8.
Un ejemplo del problema es la pregunta se puede ver aquí - 24ways example. En Firefox, Chrome, Safari y Opera, a las filas impares se les asigna una clase "impar". Sin embargo, en IE8, no se les asigna una clase "impar" y no se resaltan.
Nick, muchas gracias por la solución. Funcionó como magia. De hecho, es desconcertante por qué IE8 se comporta de esta manera, porque para otros pseudo selectores no sucede. Por ejemplo, cuando usé pseudo selectores de primer hijo y último hijo en jQuery, sigue funcionando como estaba previsto. ¡Gracias de nuevo! – Terry
@teddyrised - Bienvenido :) No estoy seguro de por qué IE se comporta así, lo agregaré a la lista de 50,000 cosas que hace mal. Como un aparte, asegúrate de aceptar respuestas para cerrar la pregunta/ayuda al siguiente chico que encuentre este problema en google - a través de la marca de verificación a la izquierda :) –
Ah, muchas gracias por la ayuda. Todavía soy nuevo en el desbordamiento de la pila, aunque he estado rondando por siempre. ¡Gracias! – Terry