代码之家  ›  专栏  ›  技术社区  ›  Russ Bradberry

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

  •  0
  • Russ Bradberry  · 技术社区  · 14 年前

    假设我有类似以下的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")
    

    我怎样才能得到 带有类的元素 selected 在的jquery数组中 元素?

    3 回复  |  直到 14 年前
        1
  •  7
  •   user113716    14 年前
    var index = $("ul li.selected").index();
    

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

        2
  •  3
  •   jantimon    14 年前

    带索引: http://api.jquery.com/index/

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

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

    帕特里克

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

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

        3
  •  2
  •   Community CDub    7 年前

    对我来说,如果你已经做了 $("ul li") ,那么你想避免再这样做(如果你 没有 已经做了,我肯定会同意的 patrick's approach )假设您将jquery对象存储为 items . 你会这样做:

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

    Fiddle: http://jsfiddle.net/Nk3Aj/ (明目张胆地偷了帕特里克的并更新了:-)

    它使用了 index :

    如果对元素集合调用.index(),并且传入了dom元素或jquery对象,.index()返回一个整数,指示所传递元素相对于原始集合的位置。

    同样,如果您已经完成了 $(“UL Li”) 部分。