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

时间:2012-07-24 10:20:18

标签: jquery

  

可能重复:
  Selecting the first “n” items with jQuery

Code

<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");​

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

4 个答案:

答案 0 :(得分:5)

使用.slice代替:gt:lt以获得最佳效果:

$('.prova').slice(0,5).html("Hello Edited");​

答案 1 :(得分:3)

如果开头从0开始,那么试试这个:

$('.prova:lt(5)').html("Hello Edited");​

http://jsfiddle.net/MUyJ7/2/

答案 2 :(得分:2)

:gt表示大于0的索引,这是第一个元素。删除选择器的:gt部分。

答案 3 :(得分:1)

因为您正在使用gt,并且因为0不大于0,所以它被排除在外。做$('.prova:lt(5)')之类的事情。我不知道你为什么要做所有这些引用和连接的东西。