Есть простой код, который по клику разворачивает соседние блоки.
Пример тут:
https://codepen.io/weranda/pen/oNxZMMg
Все работает, но есть одно маленькое но — после клика на элемент, по которому разворачиваются соседние элементы, я удаляю класс этого элемента, за который "цепляется" jQuery, чтобы раскрыть соседние элементы и даже после удаления класса код jQuery все равно как бы видит этот уже удаленный класс и при повторном клике на элементе сворачивает соседние элементы.
Как сделать так, чтобы элементы раскрывались всего раз и более с ними ничего не происходило, т. е. чтобы они больше не сворачивались?
<div class="block">
<div class="el1 el1--closed">Element 1</div>
<div class="el2">Element 2</div>
<div class="el3">Element 3</div>
</div>
.el2, .el3{
display: none;
}
$('.el1--closed').click(function () {
$(this).siblings().slideToggle();
$(this).removeClass('el1--closed');
})
P.S.
И объясните, пожалуйста, почему так происходит — класс удален, но он как бы и не удален, jQuery видит элемент с классом, но класса в разметке уже нет, он удален...