2016-05-17 9 views
-1

を動作しませんなぜ私はj​​queryのを使用しようとしている:サイト内のLT()セレクタをそれは方法 「説明:マッチしたセット内のインデックスよりも小さいインデックスにあるすべての要素を選択します。」 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)によって返された最初の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