2011-11-25 5 views
1

나는 다음과 같은 HTML 구조를 가지고 :자신의 토글 버튼을 클릭 한 후에 현재 div 만 토글합니까?

(옥 템플릿 언어) 나는 (정상에서) .review-item div의 높이 확장 및 축소 할 수 있도록하려면

#review-item-1.review-item 
     a.submit-review-toggle(href="#").review-item-toggle + 
     h3 Service 
     .review-overview 
     textarea(class='submit-review-overview', name='message', placeholder='Overview') 
     .review-photo 
     img(src="images/no-photo.png") 

:

$(".submit-review-toggle").click(function() { 
    $(".review-item").animate({ 
     height: "toggle", 
    }, "slow"); 
}); 

문제는 하나의 페이지에 .review-item 개의 div가 많이있을 것이라는 점입니다. 따라서 .submit-review-toggle 버튼을 클릭 한 후 '현재'.review-item div를 토글해야합니다.

어떻게해야합니까?

+1

명확한 (즉, 실제 HTML) 구조를 게시 할 수 있습니까? 요소의 부모 만 가져야하는 경우 jQuery에는 parent() 메서드가 있습니다. – Viruzzo

답변

3

는 다음과 같은 시도 :

$(".submit-review-toggle").click(function() { 
    $(this).closest(".review-item").animate({ 
     height: "toggle", 
    }, "slow"); 

});

가장 가까운 선택기는 현재 요소에서 시작하여 DOM 트리를 통해 진행되는 선택기와 일치하는 첫 번째 요소를 가져옵니다. See here for documentation.

+0

이렇게 말하면서 : 부모 클래스를 그 클래스와 토글 하시겠습니까? – alexchenco

+1

음, ".closest()"는 "다음 선택기와 일치하는 가장 가까운 부모 찾기"를 의미합니다. – Pointy

관련 문제