【发布时间】: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
访问列表中特定项目的最佳方式是什么?并将其用作选择器?
【问题讨论】:
<ul>
<li>No</li>
<li>Yes</li>
<li>No</li>
</ul>
//demostration purpose
$('ul').get(2).text();
//output = Yes
访问列表中特定项目的最佳方式是什么?并将其用作选择器?
【问题讨论】:
您可以使用.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 和其他几个。
【讨论】:
nth-child(n) 不接受从零开始的数字,所以我以前总是混淆这两者并且必须仔细检查。确实,不一致是规范的错。无论如何,我只是编辑它来证明我的 +1 :p
:nth-child() 在这一点上是一个红头发的继子,我实际上很少在实际的日常使用中使用这个东西。也许一旦我们放弃对 IE7 和 IE8 的支持(已经放弃了 6,哇哦!)我可以开始在 CSS 中使用它,但在 jQuery 中我发现它根本不是很有用。
使用: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
【讨论】: