Как добавить класс блоку

подскажите пожалуйста, как правильно добавить класс блоку. есть иконка1 с классом "click_link", при нажатии на которую у нее появляется класс "active". нужно сделать так чтобы при нажатии на эту иконку, если у нее есть класс active, то блоку c классом "col-lg-3 col-md-4 col-sm-5 col-sm-offset-0 col-xs-11 col-xs-offset-1 open" присваивался тоже класс active. потом при нажатии на другую иконку у иконки1 исчезает класс active и у блока тоже исчезал класс active. пытался так, но что то не работает как надо. `var element = document.querySelector('.click_link'); var block = document.querySelector('.open');

var element = document.querySelector('.click_link');
var block = document.querySelector('.open');

element.onclick() = function() {
    if (element.classList.contains("active"))
        block.classList.toggle('.active');
    else block.classList.remove('.active');
}

введите сюда описание изображения


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

Автор решения: Oliver Patterson

const elements = document.querySelectorAll('.click_link');
const block = document.querySelector('.open');

elements.forEach((element) =>
{
    element.addEventListener('click', (event) =>
    {
        const isActive = event.target.classList.contains('active');

        block.classList.toggle('active', isActive);
    });
});
.click_link
{
  display: block;
}

.open
{
  display: none;
}

.open.active
{
  display: block;
}
<button class="click_link">icon 1</button>
<button class="click_link active">icon 2 (с классом active)</button>
<button class="click_link">icon 3</button>

<div class="open">
  Block
</div>

→ Ссылка