Jquery:从选择中仅选择一些集合

时间:2012-12-26 07:09:33

标签: jquery jquery-selectors

我有一个要求,我必须只过滤我的整个选择的一部分。这是示例

<li class="link">one</li>
<li class="link">two</li>
<li class="link">three</li>
<li class="link">four</li>
<li class="link">five</li>
<li class="link">six</li>
<li class="link">seven</li>
<li class="link">eight</li>
<li class="link">nine</li>
<li class="link">ten</li>

我的要求是将元素从“三”过滤到“五”,并且必须对它们应用一些亮点。我不想使用循环并寻找一些优雅的过滤语法。 我试过类似$(“。link:gt(2),lt(5)”)的东西,但它没有帮助。

3 个答案:

答案 0 :(得分:2)

使用.slice()

$(".link")​.slice(2,5)

http://jsfiddle.net/JYLpr/

答案 1 :(得分:1)

通常一个接一个地应用选择器,:gt:lt基于零

 $(".link:gt(1):lt(3)")

答案 2 :(得分:0)

尝试使用此代码为我工作

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
for(var i=1;i<=10;i++){
 $("#test"+i).css('display','none');
}
for(var i=4;i<=8;i++)
{
    $("#test"+i).css('font-family','Rupee Foradian,Verdana,Arial,Helvetica,sans-serif');
 $("#test"+i).css('font-weight','bold');
 $("#test"+i).css('display','block');
}
  });
});
</script>
</head>
<body>
<li class="link" id="test1">one</li>
<li class="link" id="test2">two</li>
<li class="link" id="test3">three</li>
<li class="link" id="test4">four</li>
<li class="link" id="test5">five</li>
<li class="link" id="test6">six</li>
<li class="link" id="test7">seven</li>
<li class="link" id="test8">eight</li>
<li class="link" id="test9">nine</li>
<li class="link" id="test10">ten</li>
<button>Click me</button>
</body>
</html>