用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文档