Esta es mi estructura. Quiero agregar una clase par impar en cada dos divs. Entonces, ¿cómo puedo lograr esta estructura usando el bucle de JavaScript? Intenté todo pero no obtuve nada. Estoy aprendiendo el bucle de JavaScript.
var i = 0; $('.CollectionInner__Products .Grid__Cell .ProductItem').each(function(i) { var index = 0; if (index % 3 == 0) { $(this).addClass("odd"); } }); <div class="custompsps"> <div class="ProductItem"> </div> <div class="ProductItem"> </div> <div class="ProductItem"> </div> <div class="ProductItem"> </div> </div> <div class="custompsps"> <div class="ProductItem"> </div> <div class="ProductItem"> </div> <div class="ProductItem"> </div> <div class="ProductItem"> </div> </div>Quiero esta estructura:
i want this stucture <div class="custompsps"> <div class="ProductItem even"> </div> <div class="ProductItem even"> </div> <div class="ProductItem odd"> </div> <div class="ProductItem odd"> </div> </div> <div class="custompsps"> <div class="ProductItem even"> </div> <div class="ProductItem even"> </div> <div class="ProductItem odd"> </div> <div class="ProductItem odd"> </div> </div>$('.CollectionInner__Products .Grid__Cell .ProductItem').each(function(index, element) { $(element).addClass(index & 2 ? "even" : "odd"); }); & es un "y" bit a bit. index & 2 sería 0 para los índices 0 y 1, y 2 para los índices 2 y 3, alternando así. 0 es falso y distinto de 0 es verdadero. (Su uso de "par" e "impar" parece al revés, pero he seguido su uso).
.each de jQuery acepta una devolución de llamada que puede tomar tanto un índice como un argumento de elemento.