获取HTML列表中项目的位置

时间:2013-03-04 14:30:48

标签: javascript jquery

我需要知道HTML列表中某个项目的位置。

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

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

所以当我得到第一个li作为事件的目标时。如何获得项目位置的0作为结果。我能想到的唯一方法是迭代所有项目并将它们与事件目标进行比较,但我想知道是否有更好的解决方法。

3 个答案:

答案 0 :(得分:3)

您可以使用:

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

JS Fiddle demo

参考:

答案 1 :(得分:2)

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

答案 2 :(得分:1)

$('ul li').on("click", function(){
var index = $(this).index();
alert(index);
})

http://jsfiddle.net/6QZbT/