2016-05-17 74 views
-1

我想要在网站中使用jquery:lt()选择器它的方式 “描述:选择索引小于index的所有元素在匹配的集合中。” https://api.jquery.com/lt-selector/为什么jQuery比选择器不工作

<table border="1"> 
<tr><td>row0</td></tr> 
<tr><td>row1</td></tr> 
<tr><td>row2</td></tr> 
<tr><td>row3</td></tr> 
<tr><td>row4</td></tr> 
<tr><td>row5</td></tr> 
<tr><td>row6</td></tr> 
</table> 

我想选择ROW3和ROW4所以我尝试:

$("table tr:gt(2):lt(5)").css('background','red'); 

但它似乎没有工作,它选择ROW3,ROW4,ROW5,ROW6任何想法?

https://jsfiddle.net/foreyez/v3ro64bf/

编辑:这是不是重复。我想解决我的具体问题。我如何获得row3和row4。

+0

$(“表TR:GT(2) :LT(2)“)的CSS( '背景', '红色');试试这个 –

+1

$(“table tr:lt(5):gt(2)”)。css('background','red'); http://stackoverflow.com/questions/4691854/how-select-elements-between-interval – Lirianer

+0

[此解决方案很聪明,提高了可读性](http://stackoverflow.com/a/1137244/1073758)。 – moonwave99

回答

4

:lt的索引是由:gt返回的索引。 :lt只有4个元素进入它,其中所有他们有一个指数小于5,所以他们都匹配。

第一:gt有效返回行3,4,5,和6中,和只有那些行:lt针对匹配。

如果你只需要选择行3和4,你想:gt(2):lt(2)选择由:gt(2)返回的前两行:

$("table tr:gt(2):lt(2)").css('background','red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table border="1"> 
 
<tr><td>row0</td></tr> 
 
<tr><td>row1</td></tr> 
 
<tr><td>row2</td></tr> 
 
<tr><td>row3</td></tr> 
 
<tr><td>row4</td></tr> 
 
<tr><td>row5</td></tr> 
 
<tr><td>row6</td></tr> 
 
</table>

+0

所以LT基本上是我想要删除的行数? (当与gt结合时) – foreyez