用jQueryselect第一个“n”项

使用Jquery,我只需要从页面中select第一个“n”个项目,例如前20个链接,而不是像往常一样select所有项目

$("a") 

听起来很简单,但jQuery手册没有这样的事情的证据。

你可能想要阅读片 。 你的代码看起来像这样:

 $("a").slice(0,20) 

使用lt伪select器:

 $("a:lt(n)") 

这匹配第n个元素(第n个元素除外)之前的元素。 编号从0开始。

我在lt()文档的最后发现了这个注释:

补充笔记:
因为:lt()是一个jQuery扩展,而不是CSS规范的一部分,使用lt()的查询不能利用原生DOM querySelectorAll()方法提供的性能提升。 为了在现代浏览器中获得更好的性能,请使用$(“your-pure-css-selector”)。slice(0,index)。

所以使用$("selector").slice(from, to)来获得更好的性能。

试试:ltselect器: http : //docs.jquery.com/Selectors/lt#index

 $('a:lt(20)'); 

.slice()并不总是更好。 在我的情况下,在Chrome 36中使用jQuery 1.7,.slice(0,20)失败,出现错误:

RangeError:超出最大调用堆栈大小

我发现:lt(20)在这种情况下没有错误地工作。 我可能有数以万计的匹配元素。

 $("a:lt(n)") 

JQuery文档