我有一个这样的清单:
<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位置。它的行数是多少。
谢谢!
答案 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。