【问题标题】:jquery find by index in a listjquery在列表中按索引查找
【发布时间】:2011-03-23 04:14:27
【问题描述】:
<ul>
  <li>No</li>
  <li>Yes</li>
  <li>No</li>
</ul>

//demostration purpose 
$('ul').get(2).text();


//output = Yes

访问列表中特定项目的最佳方式是什么?并将其用作选择器?

【问题讨论】:

    标签: jquery list select


    【解决方案1】:

    您可以使用.eq():eq() 来获取列表中的jQuery 对象:

    $('ul li').eq(1).text();
    //or:
    $('ul :eq(1)').text();
    

    You can try a demo here。当您获得.get() 时,您将获得一个没有任何jQuery 函数的DOM 元素。请记住,这两个都是基于0的,因此您需要1 才能在您的示例中获得“是”。

    还有其他basic filters you may be interested in,例如:lt()(小于索引)、:gt()(大于索引)、:first:last 和其他几个。

    【讨论】:

    • @Andy - 在我的示例页面中注意到,刚刚醒来:)
    • nth-child(n) 不接受从零开始的数字,所以我以前总是混淆这两者并且必须仔细检查。确实,不一致是规范的错。无论如何,我只是编辑它来证明我的 +1 :p
    • @Andy - 同意,我认为:nth-child() 在这一点上是一个红头发的继子,我实际上很少在实际的日常使用中使用这个东西。也许一旦我们放弃对 IE7 IE8 的支持(已经放弃了 6,哇哦!)我可以开始在 CSS 中使用它,但在 jQuery 中我发现它根本不是很有用。
    • 一想到人们可以放弃对 IE8 的支持,我的眼中就会流下喜悦的泪水;)
    【解决方案2】:

    使用:eq过滤器选择器:

    $('ul li:eq(0)').text(); // gets first li
    $('ul li:eq(1)').text(); // gets second li
    $('ul li:eq(2)').text(); // gets third li
    // and so on
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 2021-01-05
      • 2014-09-17
      • 2016-01-25
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多