Как добавить класс в каждый в div с помощью цикла

0

Вопрос

Это моя структура, я хочу добавить нечетный четный класс в каждые два раздела, так как я могу создать эту структуру с помощью цикла JavaScript, я перепробовал все, но ничего не получил, я изучаю цикл 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>

Мне нужна эта структура:

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

Лучший ответ

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

& является побитовым "и". index & 2 было бы 0 для индексов 0 и 1 и 2 для индексов 2 и 3, чередующихся вот так. 0 является ложным и не-0 это правда. (Ваше использование "четного" и "нечетного" кажется обратным, но я следил за вашим использованием.)

jQuery.each принимает обратный вызов, который может принимать как индекс, так и аргумент элемента.

2021-11-25 00:25:00

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................