Показать сообщение отдельно
  #1 (permalink)  
Старый 04.07.2022, 12:02
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

Перебор массива
Здравствуйте.
Нужно по клику добавить класс к выбранному элементу и удалить во всех остальных, вопрос в том, как это сделать не используя два (forEach) перебора массива?
Возможно можно ограничится одним перебором?
<section class="skills">

        <div class="skills-item">
          <i class="fa-brands fa-js skills-item__icon"></i>

          <div class="skills-item__text">
            some text
          </div>
        </div>

        <div class="skills-item">
          <i class="fa-brands fa-js skills-item__icon"></i>

          <div class="skills-item__text">
            some text
          </div>
        </div>

        <div class="skills-item">
          <i class="fa-brands fa-js skills-item__icon"></i>

          <div class="skills-item__text">
            some text
          </div>
        </div>

      </section>


skillsIcon.forEach(item => {
      item.addEventListener('click', () => {
        
        skillsText.forEach((items, i) => {
          items.classList.remove('skills-item__text_active');
          skillsIcon[i].classList.remove('skills-item__icon_active');
        });

        item.classList.add('skills-item__icon_active');
        item.nextElementSibling.classList.add('skills-item__text_active');
      });
    });
Ответить с цитированием