如何在间隔之间选择元素

时间:2011-01-14 14:03:33

标签: jquery jquery-selectors

我有html并希望从第10位选择间隔5个元素。怎么做?

我的HTML:

<div class="chaire">
   <img alt="" src="2.gif">

</div>
<div class="chaire">
   <img alt="" src="2.gif">
</div>
<div class="chaire">
   <img alt="" src="2.gif">
</div>
<div class="chaire">
   <img alt="" src="2.gif">
</div>
...
<div class="chaire">
   <img alt="" src="2.gif">
</div>

我尝试使用jquery:

$(".chaire:gt(10):lt(15)");

但它选择了div和img标签。但我需要div标签。

2 个答案:

答案 0 :(得分:4)

您的代码可以正常工作,并且只选择<div>个元素。看看this example fiddle,它会在第10个(<div>)之后找到5个:gt(9):lt(15)元素。

<小时/> 您拥有的选择器只会选择具有该类名的元素,对于您的示例HTML,它只是<div>元素。不会选择<img>个元素。正如rcravens已经指出的那样,两个选择器分别修改结果,因此您需要先使用:lt() - :lt(15):gt(9)

更新了示例:http://jsfiddle.net/teQkf/3/。示例代码的下一部分在结果中找到<img>元素,并将其src更改为其他内容。

你最好使用slice,这只是对结果的一次操作,因此不那么容易混淆,更不用说更快了:

$(".chaire").slice(10,15);

(example)

答案 1 :(得分:2)

试试这个:

$(".chaire:gt(10):lt(5)");

这是一个可以玩的jFiddle。

http://jsfiddle.net/rcravens/m3j6K/

看起来链接'gt'和'lt'选择器意味着'lt'应用于'gt'之后剩余的内容。

鲍勃