使用Jquery,我需要从页面中选择第一个“n”项,例如前20个链接而不是通常用
选择所有项目$("a")
听起来很简单,但jQuery手册没有这样的证据。
答案 0 :(得分:362)
您可能希望阅读slice。您的代码将如下所示:
$("a").slice(0,20)
答案 1 :(得分:87)
使用lt伪选择器:
$("a:lt(n)")
这匹配第n个元素之前的元素(排除第n个元素)。编号从0开始。
答案 2 :(得分:21)
我在lt() docs:
的末尾找到了这个说明附加说明:
因为:lt()是一个jQuery扩展而不是CSS规范的一部分,使用:lt()的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。为了在现代浏览器中获得更好的性能,请使用$(“your-pure-css-selector”)。切片(0,索引)代替。
因此,请使用$("selector").slice(from, to)
以获得更好的表现。
答案 3 :(得分:11)
尝试:lt选择器:http://docs.jquery.com/Selectors/lt#index
$('a:lt(20)');
答案 4 :(得分:6)
.slice()并不总是更好。在我的情况下,使用Chrome 36中的jQuery 1.7,.slice(0,20)失败并出现错误:
RangeError:超出最大调用堆栈大小
我发现:在这种情况下,lt(20)没有错误地工作。我可能有成千上万的匹配元素。
答案 5 :(得分:2)
$("a:lt(n)")