Вы были действительно близки, просто используйте предложение if
в цикле forEach, чтобы пропустить элемент, на который вы щелкнули, по сравнению с this
, также у вас была опечатка в функции:
const elements = document.querySelectorAll('.element');
function toggleOpen() {
this.classList.toggle('open');
elements.forEach(ele => {
if (ele !== this) ele.classList.remove('open');
});
}
elements.forEach(ele => ele.addEventListener('click', toggleOpen));
.element { color: red; }
.open { color: green; }
<button class="element">1</button>
<button class="element">2</button>
<button class="element">3</button>
<button class="element">4</button>