Tengo problemas para migrar el último bit de nuestro código para salir de la depreciación. Usamos jQuery 3.6, y desde jQuery 3.4 el selector :odd está depreciado.
A partir de jQuery 3.4 , la pseudoclase :odd está en desuso. Elimínelo de sus selectores y filtre los resultados más tarde usando .odd() (disponible en jQuery 3.5.0 o posterior).
Sin embargo, parece ser muy difícil conservar el color de fondo cada 3 filas.
.divGrey { background-color: #c0c0c0; } $('.container').filter(function () { return $(this).children().length === 3; }).filter(':odd').addClass('divGrey'); // :odd Depreciated Puedo hacer .odd().addClass('divGrey') pero pierdo el fondo que quiero conservar para cada tercer niño. ¿Cómo puedo hacer esto? ¿Necesito eliminar la función de filtro?
Cualquier ayuda apreciada - ¡gracias!
Para hacer lo que necesita, puede usar el argumento de índice proporcionado a un controlador de función en filter() y devolver un valor booleano para indicar si el índice del elemento es par o impar, como este:
$('.container').filter(i => i % 2).addClass('divGrey'); .divGrey { background-color: #c0c0c0; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <div class="container">0</div> <div class="container">1</div> <div class="container">2</div> <div class="container">3</div> <div class="container">4</div> <div class="container">5</div> Tenga en cuenta que eliminé la primera llamada filter() ya que no era relevante para la pregunta.