【问题标题】:jQuery find an element by its indexjQuery 通过索引查找元素
【发布时间】:2012-03-03 02:49:57
【问题描述】:

如果我有选择

<div id="container">
    <div>item 1</div>
    <div>item 2</div>
    <div>item 3</div>
    <div>item 4</div>
</div>

如何通过索引选择 div?

例如,我想选择项目 2...通过使用 index = 1,而不是通过 'div' 或包含“项目 2”的文本

【问题讨论】:

  • 男人在发布问题之前尝试用谷歌搜索一下......检查这个api.jquery.com/eq-selector
  • 我认为您正在寻找.children() 选择器...请参阅下面的详细答案。
  • 如果您转到api.jquery.com 并在顶部的搜索字段中键入 "index",API 将缩小到可以轻松找到回答。

标签: jquery


【解决方案1】:

其中之一:

  • .index - 这是吸气剂。获取给定元素的索引,并根据它应用逻辑。
  • .eq、:eq 或 .slice- 这些可用于从给定的 jQuery 集合中获取元素
  • :nth-child - 选择一个元素,该元素是 nth child (!!) 元素,对应于父元素。

在您的情况下,eq 或 :nth-child 是合适的。例如:

var item1 = $('#container > :nth-child(1)');  // parent > child (=first child)
var item2 = $('#container').children().eq(1); // Zero-based indexes

【讨论】:

  • ''从 jQuery 3.4 开始,:eq 伪类已被弃用。将其从选择器中删除,稍后使用 .eq() 过滤结果。'' 参见 official :eq documentation
【解决方案2】:

使用eq() 方法。

$("#container > div").eq(1)

您甚至可以使用:eq(1) 伪选择器。

$("#container > div:eq(1)")

.eq(index) 将匹配元素集减少到指定索引处的元素。

:eq(index) 选择匹配集中索引 n 处的元素。

【讨论】:

    【解决方案3】:

    试试:

    $("#container div").eq(1) // zero-based, so will select 'item 2'
    

    【讨论】:

    • 他特别说,“不是按DIV”。 (但我会删除它,因为有几个类似的答案,而且我不会对它们全部投反对票。除此之外,看起来 Rob W 已经用那些真正听过这个问题的人的代码替换了他的答案。)编辑:有它不会删除反对票?
    • @TimothyAaron 这是毫无根据的指控。我最初的回答是“使用index、eq 或:nth-child。”。这些包含了基础知识。后来,我通过实施这些方法扩展了我的答案。至于“编辑”:当帖子有一段时间没有被编辑时,您无法删除投票。
    【解决方案4】:
    $('#container').children().eq(1);
    

    【讨论】:

      【解决方案5】:

      早上好,您可以使用第 n 个子选择器:

       var item = $('#container div:nth-child(2)');
      

      【讨论】:

        【解决方案6】:

        您可以使用:eq 选择器,如下所示,

           $('#container div:eq(2)') //will return you div with item 2
        

        【讨论】:

          【解决方案7】:
          $('#container').children().eq(2);
          

          【讨论】:

          • 另外,请记住从您想要的项目中减去 1,因为 .eq() 是从零开始的。 (所以,你会为第二个项目做.eq(1)。)
          猜你喜欢
          • 2023-01-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多