при событии click появлялся соответствующий блок

           ```

<div class="catalog__content">
                    <div class="catalog-item">
                        <div class="catalog-item__wrapper">
                            <div class="catalog-item__content catalog-item__content_active">
                                <!-- какой-то контент -->
                                <a href="#" class="catalog-item__link">ПОДРОБНЕЕ</a>
                            </div>
                            <ul class="catalog-item__list">
                              <!-- какой-то контент -->
                                <a href="#" class="catalog-item__back">НАЗАД</a>
                            </ul>
                        </div>
                    </div>
                    <div class="catalog-item">
                        <div class="catalog-item__wrapper">
                            <div class="catalog-item__content catalog-item__content_active">
                                <!-- какой-то контент -->
                                <a href="#" class="catalog-item__link">ПОДРОБНЕЕ</a>
                            </div>
                            <ul class="catalog-item__list">
                                   <!-- какой-то контент -->
                                <a href="#" class="catalog-item__back">НАЗАД</a>
                            </ul>
                        </div>       
                    </div>
                </div>

есть структура: 2 блока('.catalog-item'), внтури которого есть ещё 2 блока - один активный('.catalog-item__content'), а другой('.catalog-item__list') скрыт и должен появляться при нажатии на ссылку('.catalog-item__link').
Также внутри появившегося блока('.catalog-item__list') есть ссылка('.catalog-item__link'), которая должна возвращать первый блок назад.

есть такая структура на jquery
<pre>
  function toggleSlide(item) {
    $(item).each(function(i) { // для переключения карточек
      $(this).on('click', function(e) {
        e.preventDefault();
        $('.catalog-item__content').eq(i).toggleClass('catalog-item__content_active');
        $('.catalog-item__list').eq(i).toggleClass('catalog-item__list_active');
      })
    });
  };
  toggleSlide('.catalog-item__link');
  toggleSlide('.catalog-item__back');
</pre>
А я хочу переписать на обычный JS

Проблема:
Я сделал переключатель классов, но срабатывает только на первом блоке(catalog-item). А если через forEach пустить, то при клике на ссылку(catalog-item__link) на 2ом блоке(catalog-item), действие происходит на 1ом.
<pre>
const mainContent = document.querySelector ('.catalog-item__content');
const list = document.querySelector('.catalog-item__list');
const trigger = document.querySelectorAll('.catalog-item__link');
const back = document.querySelectorAll('.catalog-item__back'); 

trigger.forEach(item => {
    item.addEventListener('click', (e) => {
        const target = e.target;
        if(target && target.classList.contains('catalog-item__link')) {
            e.preventDefault();
            mainContent.classList.remove('catalog-item__content_active');
            list.classList.add('catalog-item__list_active');
        }
    });
});
back.forEach(item => {
    item.addEventListener('click', (e) => {
        const target = e.target;
        if(target && target.classList.contains('catalog-item__back')) {
            e.preventDefault();
            list.classList.remove('catalog-item__list_active');
            mainContent.classList.add('catalog-item__content_active');
        }
    });
});
</pre>
```

и башкой я понимаю, что нужно как-то указать что при клике на ссылку в определенном блоке, должен появляться соответствующий этому блоку контент, но не хватает мозгов как это реализовать


Ответы (0 шт):