2011-07-11 36 views
0

PS:我使用this Jquery plugin,雖然我的問題不依賴於此。獲取列表元素的計數(基於點擊)?

<div class="pikachoose"> 
     <ul id="pikame" class="jcarousel-skin-pika"> 
      <li><a href="http://www.pikachoose.com"><img src="../../10.jpg"/></a</li> 
      <li><a href="http://www.pikachoose.com"><img src="../../20.jpg"/></a></li> 
      <li><a href="http://www.pikachoose.com"><img src="../../30.jpg"/></a</li> 
      <li><a href="http://www.pikachoose.com"><img src="../../40.jpg"/></a></li> 
      <li><a href="http://www.pikachoose.com"><img src="../../50.jpg"/></a></li> 
     </ul> 
    </div> 

我想要點擊「li」標籤的索引。

$("#pikame li").size(); 

將返回「我」的總數。但我想要得到那個「李」的索引

如果圖像40.jpg被點擊,那麼我想得到3(索引從0,1,2等開始......)。

回答

4
$('a').click(function(){ 
    alert($(this).parent().index()); 
}); 

工作例如:http://jsfiddle.net/AlienWebguy/zvkgv/

編輯:根據註釋請求擴展案例:

$('#pikame a').click(function(){ 
    $('#pikame2 li').eq($(this).parent().index()).find('img').trigger('click'); 
    return false; 
}); 

新的工作例如:http://jsfiddle.net/AlienWebguy/zvkgv/2/

+0

工作就像一個魅力.. –

+0

多一點幫助,基本上我想觸發點擊圖像的第N個鋰......如果我知道李的ID,那麼我可以做$('#fc img')。 ( '點擊');但如果你只知道索引,如何去做同樣的事情。 –

+0

查看更新的代碼 - 是你的意思? – AlienWebguy

1

我會用#pikame元素delegate,然後在liindex

$("#pikame").delegate("li", "click", function() { 
    // $(this).index() is the index of the `li` clicked 
}); 

Live example

雖然它真的不要緊,你怎麼弄的li元素;關鍵的一點是,一旦你在那裏,index沒有參數告訴你它的兄弟姐妹的索引。由於li元素只能有li兄弟姐妹,所以不需要給index一個選擇器或任何東西。

+0

感謝分享額外的知識:) –

+0

@AlienWebguy多一點幫助,基本上我想觸發點擊圖像的第N個鋰...如果我知道李的身份證,那麼我可以做$('#fc img') .trigger( '點擊');但如果你只知道索引,如何去做同樣的事情。 –