2011-04-15 47 views
2

我想,给定一个表ID和行索引(从0为基础),以选择在该索引的行,以便我可以将背景色应用于其所有的TD。我对基本选择很熟悉,但不知道如何使用索引变量来执行此操作。从索引jQuery的行选择

回答

3

这应该做的伎俩为您提供:

$('#id tbody > tr').eq(rowindex) 

,或者根据您的请求评论:

$('#id tbody > tr').eq(rowindex).children().addClass('myClass'); 
+0

谢谢......你会介意如何向每个td下的匹配tr添加一个类吗? – bill 2011-04-15 12:32:42

+0

$('#id tbody> tr')。eq(rowindex).children()。addClass('myfunkyClass'); – 2011-04-15 12:36:20

0

VAR selectedRow = 4 $( '#身份识别码TR:EQ(' + selectedRow +')');

会给你第五排。

+2

我更喜欢功能版本以避免连接和解析选择器。据说它也更高效。 – Alnitak 2011-04-15 12:30:54

+0

是的你安静的权利,因为$('#myID')将使用本地js document.getElementById ratehr比通过sizzle工作。发现得好。 – 2011-04-15 12:35:25

+0

我并不是很担心嘶嘶声的表现,就像建立基于其他变量的选择器一样。 – Alnitak 2011-04-15 12:39:07

0

$(#TABLEID)[0] .rows [ROWNUMBER]

0

纠正我,如果我错了,但我没有看到你从任何例如原因,你会addClass到行的每个单元。当然,除非你想选择一组自定义的行单元格。如果没有,你可以简单地应用类,为前“选择”,您选择的行,写CSS是这样的:

tr td { 
    background-color: #fff; 
} 
tr.selected td { 
    background-color: #fffccc; 
} 

或者你甚至可以尝试设置一整行的背景色。

祝你好运!

+0

有时候,您特别想要'​​'元素获取类,而不是外部'',例如,如果添加单元格边界。 – Alnitak 2011-04-15 13:45:47

+0

绝对是真的:)但在这种特殊情况下@bill想改变选定行的背景颜色。在其他情况下,如边界颜色,当然,应在所选的“”的每个“​​”上执行'.addClass('selected')'。 – Ivan 2011-04-15 13:55:20