에서 클래스를 제거하려면 다음추가하거나 내가처럼 보이는 마크 업이 사업부
<div class="accordion is-open">
<h3 class="accordion-header">
HADER
<span class="accordion-indicator"></span>
</h3>
<div class="accordion-content"></div>
</div>
<div class="accordion is-open">
<h3 class="accordion-header">
HADER
<span class="accordion-indicator"></span>
</h3>
<div class="accordion-content"></div>
</div>
<div class="accordion">
<h3 class="accordion-header">
HADER
<span class="accordion-indicator"></span>
</h3>
<div class="accordion-content"></div>
</div>
는 내가 뭘하려고 추가 또는 클래스 .accordion
와 div
에 클래스 .is-opened
을 제거하기 위해 jQuery를 사용하는 것입니다 class .accordion-header
내 문제는 divs
의 일부가 이미 클래스 .is-opened
을 포함하고 일부는 그렇지 않다는 것입니다. 클릭하고 열 수 있어야합니다. (클래스 추가 .is- 열림) 클릭 한 특정 div
.
여기 내 jQuery
입니다 :
function accordionOpener(obj) {
var accordionHeader = obj.find('.accordion-header');
var accordionBody = obj.find('.accordion');
accordionHeader.on('click',function(){
$(accordionBody).toggleClass('is-open');
});
}
new accordionOpener($(this));
내가 10 명 찬성 늙었 것처럼 나는, 자바 스크립트 그래서 나에게 말을 jQuery를 큰 프로 아닙니다.
마크 업과 관련된 이벤트가 표시되지 않습니다. accordionOpener는 어떻게 호출합니까? 시도해 보셨습니까 : $ ('. accordion'). on ('click', function() {new accordionOpener ($ (this))}}; – DinoMyte
나는이 $ (accordionBody) .toggleClass ('is-open'); 그것은 모든 아코디언을 열거 나 모두 닫을 때도 마찬가지입니다. – AlexB