2014-05-16 1 views
2

임 :요소가 다음 클래스이고 jQuery입니까? 요소의 가시성을 전환하려면이 옵션을 사용하여

$(".trigger").click(function() { 
    $(this).next().slideToggle(); 
}); 
<p class="triggger">Trigger</p> 
<p class="target">this is the target</p> 

그 작업 재미 있지만 나는 그것이 대상의 클래스가있는 경우, 그렇게 다음 요소는 전환되어 있는지 확인하고 싶다. 다음 밤은 작업 :

$(this).next().hasClass("target").slideToggle(); 
+0

이것이 작동하지 않는 이유는'.hasClass()'가 클래스를 가진 객체가 아니라'boolean '값을 반환하기 때문입니다. – Spokey

답변

4

을 시도해보십시오

$(this).next(".target").slideToggle(); 

이이 클래스 이름이있는 경우 .slideToggle()은 다음 요소에 발사됩니다

target에만 해당됩니다.

-1

이이 트릭을 할 것이

if($(this).next().hasClass("target")) 
{ 
     $(this).next().slideToggle(); 
} 
0

Jquery .next(), 지원 선택기 (.next([selector ])).

이 시도 :

$(this).next(".target")

$(".trigger").click(function() { 
    $(this).next(".target").slideToggle(); 
}); 
이 - 트리거 클래스와 각 요소의 바로 다음 형제를 선택합니다. "목표"등급을 가진 사람 만 보관하십시오.

Working Example

0

함수 hasClass ('대상')를 boolean..So 대신 다음에 기능을 변경 반환합니다.

$(".trigger").click(function() { 
    if($(this).next().hasClass('target')) { $(this).next().slideToggle(); } 
}); 

감사합니다.

관련 문제