2010-02-26 9 views
3

매우 초보자 용 질문입니다. 이에 대한 답변이 확실한 경우 사과드립니다.JQuery 용 조건문 작성

JQuery를 사용하여 항목의 클릭 여부에 따라 항목의 내용을 전환합니다. 토글 기능을 성공적으로 구현할 수있었습니다.

show()로 설정된 처음 두 항목과 함께 나머지를 hide()로 설정하여로드해야합니다. 처음 두 항목에 고유 한 클래스 이름을 부여했습니다. 내가 간단히 $('div.activeitem').show()을하고 나머지는 숨길 수 있다는 것을 알고 있지만 조건을 설정하는 것을 선호합니다.

저는 JQuery 초심자입니다. 따라서 조건문에서 이러한 요소 나 클래스를 타겟팅하는 방법을 모르겠습니다. Google을 검색했지만 성공하지 못했습니다. div "newsinfo"에 "jopen"클래스가 있고 show(), hide()가있는 지 묻는 조건이 필요합니다.

도움 주셔서 감사합니다. hasClass() 기능이

<script type="text/javascript"> 
       $(document).ready(function(){ 
        // Here is where I'd like to implement a conditional 
        $('div.newsinfo').hide(); // this would be part of my else 
        $('h5.newstoggle').click(function() { 
         $(this).next('div').slideToggle(200); 
         return false; 
        }); 
       }); 
</script> 

답변

4

어떻게

단지에 대한
$('div.newsinfo').each(function(){ 
    if($(this).hasClass('jopen')){ 
     $(this).show() 
    }else{ 
     $(this).hide(); 
    } 
}); 
+1

. 고맙습니다. – nkha

1

: 난 당신이 내 질문의 맥락을 이해하는 데 도움이 내 코드를 부착했다. 더 나은 방법은 toggleClass()를 사용하는 것입니다. 제거 ... 등등 ^^

1

에 JQuery와는 보유 - 초 후에 제 클릭 클래스가 추가 될 후에

$('div.blocks').click(function(){ 
    $(this).toggleClass('class_name'); 
}); 

:

. hasClass 기능.

if($(".selectableItem").hasClass("selected")){ 
    //remove selection 
    $(".selectableItem").removeClass("selected"); 
}else{ 
    //remove the selected class from the currently selected one 
    $(".selectableItem .selected").removeClass("selected"); 
    //add it to this one 
    $(".selectableItem").addClass("selected"); 
} 
1

display: blockdisplay: none에 다른 사람에게 클래스를 jopen 할 기본 CSS를 추가하지 마십시오?

뭔가

같은
.newsinfo {display: none} 
.jopen {display:block!important} 
+0

이 경우에는'! important'를 사용할 필요가 없습니다. couz .jopen 표기법은 나중에 나옵니다 ;-) – Skay

+0

참. jopen이 newsinfo를 오버라이드해야한다는 것을 강조하기 위해 추가했습니다. –

1

그냥 선택기를 사용합니다. "newsinfo"클래스 모든 div를 기본적으로 볼 수 있습니다 예를 들어, :

$("div.newsinfo:not(.jopen)").hide();

들은 모두 기본적으로 숨겨져있는 경우 :이 일을

$("div.newsinfo.jopen").show();