「ブロック」のクラスを切り替えるこの基本的なアコーディオンがあります。.not(this)
inが機能していないことを除いて、すべてが機能している$('.accordionInner').not(this).removeClass('block');
ため、すべてのアコーディオンを閉じることはできません。簡単な修正だと思いますが、何が間違っているのかわかりません。
HTML:
<div class="accordionHeading">
<p>Header</p>
</div>
<div class="accordionInner">
<p>Inner</p>
</div>
<div class="accordionHeading">
<p>Header</p>
</div>
<div class="accordionInner">
<p>Inner</p>
</div>
CSS:
.accordionHeading {
cursor: pointer;
background: yellow;
}
.accordionInner {
display: none;
}
.block {
display: block !important;
}
JS:
$('body').on('click', '.accordionHeading', function(){
$('.accordionInner').not(this).removeClass('block');
$(this).next('.accordionInner').toggleClass('block');
});