2013-03-04 53 views
2

我需要知道HTML列表中項目的位置。獲取HTML列表中項目的位置

<ul> 
    <li>first</li> 
    <li>second</li> 
    <li>third</li> 
</ul> 

$('ul').on("click", function(event){ 
    var target = event.target; 
}) 

所以當我得到第一個li作爲事件的目標。如何才能得到0作爲項目位置的結果。我能想到的唯一方法是迭代所有項目並將它們與事件目標進行比較,但我想知道是否有更好的方法來解決這個問題。

回答

2

你可以使用:

$('ul').on("click", function(event){ 
    var target = event.target, 
     index = $(target).index(); 
    console.log(target, index); 
}) 

JS Fiddle demo

參考:

2
var listItem = $(event.target); 
alert('Index: ' + $('ul > li').index(listItem)); 
+0

+1 - 我喜歡這個答案,因爲它表明你可以傳遞一個參數到'index'功能。 – 2013-06-23 21:52:05