Cómo AGREGAR clase en cada div usando bucle

0

Pregunta

Este es mi estructura, quiero añadir extraño incluso de la clase en cada dos divs así que ¿cómo puedo conseguir esta estructura utilizando JavaScript bucle he intentado de todo pero no tengo nada estoy aprendiendo JavaScript bucle así que alguien por favor me ayude con esto

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 que 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>
css html javascript jquery
2021-11-24 03:47:49
1

Mejor respuesta

1
$('.CollectionInner__Products .Grid__Cell .ProductItem').each(function(index, element) {
  $(element).addClass(index & 2 ? "even" : "odd");
});

& es un bit a bit "y". index & 2 sería 0 para el índice 0 y 1, y 2 para el índice 2 y 3, alternando como este. 0 es falsy y no0 es truthy. (El uso de "incluso" y "extraño" se parecen al revés, pero yo he seguido su uso).

jQuery .each acepta una devolución de llamada que se puede tomar tanto un índice y un elemento argumento.

2021-11-25 00:25:00

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................