使用类查找列表项并在jQuery中获取其列表位置

时间:2009-11-20 11:58:02

标签: jquery

我有一个这样的清单:

<ul>
    <li class="pageItem">1</li>
    <li class="pageItem">2</li>
    <li class="pageItem current">3</li>
    <li class="pageItem">4</li>
    <li class="pageItem">5</li>
</ul>

我想计算.current的列表项位置。在这种情况下,它将是3。

只是为了说清楚:我不想要X&amp;元素的Y位置。它的行数是多少。

谢谢!

4 个答案:

答案 0 :(得分:7)

$('li.pageItem').index($('li.current')[0]);

将返回2,如果您希望索引从1开始,只需添加+1。

答案 1 :(得分:1)

  $("li.current").prevAll("li").size()

//编辑:实际上,大卫的答案更好,因为它更直接地展示了我们所追求的东西。根据{{​​3}},唯一不需要[0],“如果传递jQuery对象,则只检查第一个元素。”,即,只需使用

 position = $("li").index($(".current"))

答案 2 :(得分:0)

$('ul li.pageItem').each(function(i) {
 if($(this).hasClass('current')) //i is your index
});

修改 index()可能是更好的方法(见其他答案)

答案 3 :(得分:0)

$('li.current').prevAll().length会为您提供列表中所选项目的位置。请注意,此值将从零开始,因此如果您希望此值为1,则为此值添加+1。