2012-12-02 57 views
0

首先對不起我的英文不好, 我遇到一個小問題.eq() jQuety函數。 我有如下HTML:jquery檢查這是否等於0,1或2

<ul> 
    <li>1</li> 
    <li>2</li> 
    <li>2</li> 
</ul> 

,我要檢查.click如果這是第一次將李李的第二或第三華里。 如果是第一個或第二個我想.hide一個div,如果它是第三個我想.show它。

順便說一句,我知道我可以使用:not函數,但它不支持IE8,所以我不能支持它。

謝謝,阿米特

編輯:謝謝,我最終會這樣:

if($(this).is(':nth-child(3)') == true) { 
    $("#redB .bundleInfo p").show(); 
}else { 
    $("#redB .bundleInfo p").hide(); 
}; 
+0

發佈您當前使用的javsacript。 –

+0

'if($(this).eq()== 0/1/2){// code} else {// code}' – Ohgodwhy

回答

0

嘗試

$('li').click(function(){ 

    switch($(this).index()){ 
     case 0: 
     alert("its 0"); 
     break; 
     case 1: 
     alert("its 1"); 
     break; 
     case 2: 
     alert("its 2"); 
     break; 

     default: 
     alert("other") 
     break; 

     } 

}) 

jsFiddle

0

鑑於當前的HTML,你可以做這樣的事情:

$("li").bind("click", function(){ 
    var myLiElems= $("li"); 
    var curIdx = myLiElems.index($(this)); 

    if (2 == curIdx) { 
     // show my div 
    } else { 
     // hide my div 
    } 
}); 

更多信息的jQuery的index()函數在這裏:http://api.jquery.com/index/

鑑於你目前的javasc ript你需要在這裏檢查eq()函數的文檔:http://api.jquery.com/eq/它不像你期望的那樣工作。

0

你可以使用$(this).index()來獲取點擊李的位置(0索引)的UL認證。

The live demo.

​$('ul > li').click(function() { 
    var index = $(this).index(); 
    if (index >= 0 && index <= 1) { 
     // do something 
    } else { 
     // do someting else 
    } 
});​ 
0

試試這個

$("ul li").each(function(){ 

    $(this).click(function(){ 

     if (index >= 0 && index <= 1) { 
     // here someting 
     } else { 
     // here someting 
     } 

    }); 

});