Задать вопрос
@Proroks

Как по клику добавлять класс следующим 4 элементам??

Есть условная разметка
<wrapper>
      <item></item>
      <item></item>
      <item></item>
      <item></item>
      <item></item>
      <item></item>
      <item></item>
</wrapper>
<button>Click</button>

Как сделать что бы по клику на кнопку добавлялся класс трём первым элементам, и при последующих кликах добавлял класс следующим трём элементам и так далее. Буду очень признателен за помошь!
  • Вопрос задан
  • 193 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Кого надо кликать, кому какой класс добавлять:

const buttonSelector = 'селектор кнопки';
const itemsSelector = 'селектор элементов, которым надо добавлять класс';
const count = количествоЭлементовКоторымНадоДобалятьКласс;
const className = 'класс';

Вот так всё просто получается:

$(buttonSelector).click(function() {
  $(itemsSelector)
    .not(`.${className}`)
    .slice(0, count)
    .addClass(className);
});

или

const items = [...document.querySelectorAll(itemsSelector)];

document.querySelector(buttonSelector).addEventListener('click', () => {
  items
    .splice(0, count)
    .forEach(n => n.classList.add(className));
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы