我不能过滤前5个元素吗?

mar*_*zzz 0 jquery

可能重复:
使用jQuery选择第一个"n"项

代码:

<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>
<div class="prova">Hello</div>

$('.prova:gt(' + 0 + '):lt(' + 5 + ')').html("Hello Edited");?
Run Code Online (Sandbox Code Playgroud)

我想编辑前5个元素.为什么它忽略了第一个?(应该是索引0).

Rob*_*b W 5

使用.slice而不是:gt:lt为了获得最佳性能:

$('.prova').slice(0,5).html("Hello Edited");?
Run Code Online (Sandbox Code Playgroud)

  • @flem:来自docs:*"因为`:lt()`是一个jQuery扩展而不是CSS规范的一部分,使用`:lt()`的查询无法利用本机DOM提供的性能提升`querySelectorAll ()`方法.为了在现代浏览器中获得更好的性能,请使用`$("your-pure-css-selector").slice(0,index)`而不是."*这适用于*all*jQuery选择器扩展,所以你应该尽量避免使用它们. (4认同)