如何查找数组中元素的索引

时间:2010-06-30 15:49:17

标签: javascript jquery

说我的html类似于以下

<ul>
  <li> hi </li>
  <li> hoi </li>
  <li> privyet </li>
  <li class="selected"> bonjour </li>
  <li> hallo </li>
</ul>

我使用jQuery获取li

中的所有ul元素
$("ul li")

如何在li元素的jQuery数组中获取selected元素的类li的索引?

3 个答案:

答案 0 :(得分:7)

var index = $("ul li.selected").index();

试一试: http://jsfiddle.net/xXT9r/

答案 1 :(得分:3)

使用索引: http://api.jquery.com/index/

  

描述:搜索给定的   匹配中的元素   元件。

// Text
$("ul li.selected").index("ul li");

Thx patrick

// jQuery object
$('ul li.selected');
var index = $("ul li").index(elem);

// search Within siblings
$("ul li.selected").index();

所有3个演示: http://jsfiddle.net/xXT9r/4/

答案 2 :(得分:2)

对我来说,如果你已经完成了$("ul li"),那么你想避免再次这样做(如果你还没有已经完成它,我肯定会去patrick's approach)。假设您将该jQuery对象存储为items。你这样做:

var pos = items.index(items.filter(".selected"));

小提琴:http://jsfiddle.net/Nk3Aj/(公然偷走帕特里克并更新:-))

这使用index的第二个变体:

  

如果在元素集合上调用.index()并传入DOM元素或jQuery对象,.index()将返回一个整数,指示传递的元素相对于原​​始集合的位置。

同样,如果您已完成$("ul li")部分,则此功能非常有用。