2010-03-15 94 views
1

比方說,我有看起來像這樣的兩個表:尋找兄弟姐妹的第n個孩子通過jQuery

TH TH TH TH 
TD TD TD TD 
TD TD TD TD 

TH TH TH TH 
TH TD TD TD 
TH TD TD TD 

我想在每個選擇第3列。

起初我用第n個孩子這樣:

$('table tr td:nth-child(3)') 

但是,這不會工作,爲第TD是在每個表中的不同列。

我在僞代碼中需要的是'在每一行中獲得第三TD TH'。

我假設我需要使用$ .siblings,但不完全確定。

回答

6

這個工作對我來說:

$('table tr :nth-child(3)').css('background-color', 'red'); 

它設置的第三列的背景顏色爲「紅色」(同時適用於表)。

請注意,tr:nth-child(3)之間有一個空格,並且在:nth-child(3)之前沒有td

您可以通過check out this site瞭解示例代碼並進行實驗。

+0

啊!空間。 'tr:nth-​​child()'和'tr:nth-​​child()'之間的巨大差異!這有幫助! – 2010-03-15 22:21:58

2

你需要寫$('table tr *:nth-child(3)')

:nth-child選擇器選擇無論有多少兄弟姐妹由選擇匹配的是第n個孩子父元素。

您(錯誤地)描述了:eq選擇器。

+1

事實上,他正在描述一些根本不存在的選擇器。 'table tr td:eq(3)'會在tr表中返回表中的第四個(基於0的索引)td,而沒有其他的。 – gnarf 2010-03-15 22:14:26

+0

tr:第n個孩子(3)返回第3個TR。我需要返回TR的第三個孩子。但是那個孩子可能是TD或者TH – 2010-03-15 22:18:45

+0

@DA:那麼你需要寫'tr *:nth-​​child(3)'。 – SLaks 2010-03-15 22:19:40