如何在具有特定类的表中获取第n行

时间:2011-03-01 07:27:31

标签: jquery

下面应该从带有.graphedRow类的表中获取第n行。它适用于第一行,但不适用于其他行。

http://jsfiddle.net/hRpAw/

2 个答案:

答案 0 :(得分:4)

请尝试使用.eq()

$('#someTable tbody .graphedRow').eq(pointIndex+1).css('background-color', '#FEFF9F');

虽然应该注意eq()从0开始索引。


在Firebug中进行了一些测试。

在这种情况下,

:nth-child略快于.eq()。 (快了几百分钟)

此外,:nth-child工作正常,但它的索引基于#someTable tbody的所有子项。它只返回类.graphedRow的那些。

所以看看你的JSFiddle,<tr>中有6个<tbody>,其中三个有.graphedRow类(那将是第1,第4和第6 <tr>)因此,:nth-child(1):nth-child(4):nth-child(6)会选择这些。

:nth-child的索引仍然会因#someTable tbody的其他孩子(其他<tr>没有班级的孩子而增加)

其中_ .eq()的索引是基于.graphedRow <{1}}中出现的#someTable tbody的多个实例

答案 1 :(得分:2)

使用

$('#someTable tbody > tr:nth-child('+index+')').css('background-color', '#FEFF9F')