我想为.index()
值在10到20之间的ul li
列表的列表项分配一个类。
如何使用jQuery选择这些元素?
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
...
...
...
...
li>Thirty</li>
</ul>
所以我想要类似的东西
$('#id').click(function(){
//Assign class 'classname' to those li elements
//between 10th and 20th (index numbers) in the list
if([li element's index is between 10 and 20]).addClass('classname');
});
使用slice
获取选择中元素的子集:
$('li').slice(10, 20).addClass('classname');
尽管我建议使用loneomeday的方法,但有一种方法可以完全使用选择器:
$("ul li:gt(8) + li:lt(10)").addClass('classname');
请注意,由于gt
和lt
使用基于0的索引,如果想要>= 10
,则需要使用8(大于9)。
示例:http://jsfiddle.net/GybxF/21/
Altough loneomeday的答案是正确的,可能更好。这里有一个不同的解决方案。
http://jsfiddle.net/E4U6Y/
HTH:)