2014-10-14 4 views
0

Ive가이 토글을 만들었지 만 토글을 클릭하여 클릭했을 때 내 < ul>에 '활성'클래스를 추가하는 방법을 여전히 알 수 있습니다. 일단 클래스를 닫으면.활성 클래스 추가/제거

Jsfiddle :

<ul class="accordion-media-types"> 
<li> 
    <a href="">Info</a> 
    <div class="hidden-content"> 
     content 
    </div> 
</li> 
</ul> 

JS : 사전에

$(document).on('click','.accordion-media-types a', function(e){ 
    e.preventDefault(); 
    $('.hidden-content').slideToggle(500); 
}); 

덕분에 어떤 도움 http://jsfiddle.net/0mpuh2f2/

가 여기 내 코드입니다.

+2

'$를 ('hidden- 콘텐츠 '). eToggle (500) .toggleClass ('active'); –

답변

1

YOUR UPDATED FIDDLE 사용하여 링크에 대한 활성 클래스를 추가 싶은 경우.

$(document).on('click', '.accordion-media-types a', function (e) { 
    e.preventDefault(); 
    $(this).closest('.accordion-media-types').toggleClass('active').find('.hidden-content').slideToggle(500); 
}); 
+0

정말 고마워요! 이것은 나에게 많은 도움이되었다! – user3507631

+0

Pleasure @ user3507631 –

1

당신은 그렇지 않으면 DOM의 모든 hidden-content DIV 선물을 전환됩니다, a 태그 옆에있는 hidden-content 사업부를 찾을 수 siblings를 사용하고 DIV에 대한 toggleClass()active 전환 클래스를 사용할 수 있습니다.

$(document).on('click','.accordion-media-types a', function(e){ 
    e.preventDefault(); 
    $(this).siblings('.hidden-content').slideToggle(500); 
    //toggle class to ul 
    $(this).closest('.accordion-media-types').toggleClass('active'); 
}); 

JSFiddle Demo

+0

제안 해 주셔서 감사합니다. 활성 클래스를 < ul >에 추가 할 수 있습니까? 대신 숨겨진 콘텐츠? – user3507631

+0

예 가능합니다. 업데이트 된 답변을 참조하십시오. 'closest()'를 사용하여 부모'ul'을 얻은 다음'toggleClass()'를 사용하십시오 –

+0

정말 고마워요! – user3507631

1

당신이 코드

   $(document).on('click','.accordion-media-types a', function(e){ 
        e.preventDefault(); 
        $(this).toggleClass('active'); 
        $('.hidden-content').slideToggle(500); 
       }); 
+0

감사합니다 Dimitry! – user3507631