2014-03-30 171 views
0

比方說,我有一個的jQuery選擇第n個孩子

ul 
    > li 
    > li 
    > li 
    > li 
</> 

我想李徘徊的時候做的東西,但它必須是略有不同的關於當前所選裏數。我可以通過數據切換來完成,但我不想那樣使用它。

所以我的問題是我該如何計算我在ul中選擇了哪個序列li?

例如:第一,第二,第三

+1

請問您可以添加您的js代碼嗎? – Biduleohm

+0

你的意思是像第n個孩子的選擇器? http://css-tricks.com/how-nth-child-works/ – Sebsemillia

+0

我想爲每一個不同的事物做一些不同的事情,但它與選擇之前的事情有關。 Biduleohm - 有點僞代碼: $('li.1') - > var x * = 1; $('li.2') - > var x * = 2; $('li.3') - > var x * = 3; $('li.4') - > var x * = 4; –

回答

3

試試這樣說:

$('li').mouseover(function() { 
    var _in = $(this).index(); 
    switch(_in) { 
     case 0: 
      alert('You hovered the first <li>!'); 
     break; 
     case 1: 
      alert('You hovered the second <li>!'); 
     break; 
     case 2: 
      alert('You hovered the third <li>!'); 
     break; 
    } 
}); 
+1

牛眼!這完成了這項工作,謝謝! –

+0

也應該考慮鼠標。例如,如果您添加點擊,您應該也可以將其刪除 – JohanVdR

1

使用.index()

$('li').mouseover(function(){ 
    var x = $(this).index(); 
}) 

從文檔:

如果沒有參數被傳遞給所述的.index()的方法,所述返回值是 的整數,指示在第一元件的 jQuery對象相對於其兄弟元素內的位置。

請注意.index()是從零開始的。