用Jquery,我需要从页面中选择第一个“n”项,例如前20个链接,而不是选择所有的链接
$("a")
听起来很简单,但jQuery手册中没有这样的证据。
用Jquery,我需要从页面中选择第一个“n”项,例如前20个链接,而不是选择所有的链接
$("a")
听起来很简单,但jQuery手册中没有这样的证据。
我在lt()文档的末尾发现了这个注释:
其他说明: 因为:lt()是一个jQuery扩展,而不是CSS规范的一部分,使用:lt()的查询不能利用原生DOM querySelectorAll()方法提供的性能提升。为了在现代浏览器中获得更好的性能,请使用$("your-pure-css-selector")。切片(0,index)。
因此使用$("selector")。切片(从,到)以获得更好的性能。
.slice()并不总是更好。在我的例子中,在Chrome 36中使用jQuery 1.7, .slice(0,20)失败,错误:
RangeError:超过最大调用堆栈大小
我发现:lt(20)在这种情况下没有错误。我大概有上万个匹配的元素。