我理解.eq()函数如何在jquery中运行,
<ul>
<li>item 2</li>
<li>item 4</li>
<li>item adf</li>
<li>item f</li>
</ul>
$('ul').find('li').eq(3); //this gives item f
但如果我想点击项目adf怎么办,如何获得2的警告。
$('ul li').click(function(){
alert('//getting eq value'); //and then when clicked, it should say 2
});
由于
答案 0 :(得分:8)
您正在寻找index
方法:
alert($(this).index());
来自文档:
如果没有向
.index()
方法传递参数,则返回值为 一个整数,表示第一个元素在其中的位置 jQuery对象相对于它的兄弟元素。
答案 1 :(得分:0)
要获取被点击元素的索引,可以使用this
作为选择器来选择被点击的元素,然后使用index()方法来获取元素的索引:
$("ul li").click(function(){
alert($(this).index());
});
答案 2 :(得分:0)
当列表很长时,上述解决方案将无效。 index()返回相对值,当添加更多列表标记时,该值将发生变化。
你或许应该做一些如下的事情 -
$('ul li').click(function(){
var currentListIndex = $('ul li').index(this);
alert(currentListIndex);
});