jquery alert .eq()值

时间:2012-02-19 20:15:56

标签: jquery function indexing

我理解.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
});

由于

3 个答案:

答案 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);
});