我需要知道HTML列表中某个项目的位置。
<ul>
<li>first</li>
<li>second</li>
<li>third</li>
</ul>
$('ul').on("click", function(event){
var target = event.target;
})
所以当我得到第一个li
作为事件的目标时。如何获得项目位置的0
作为结果。我能想到的唯一方法是迭代所有项目并将它们与事件目标进行比较,但我想知道是否有更好的解决方法。
答案 0 :(得分:3)
您可以使用:
$('ul').on("click", function(event){
var target = event.target,
index = $(target).index();
console.log(target, index);
})
参考:
答案 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);
})