2011-07-05 245 views
34

如何在每個tr中爲第一個和第二個td添加一個類?jQuery選擇第一個和第二個td

<div class='location'> 
<table> 
<tbody> 
<tr> 
<td>THIS ONE</td> 
<td>THIS ONE</td> 
<td>else</td> 
<td>here</td> 
</tr> 
<tr> 
<td>THIS ONE</td> 
<td>THIS ONE</td> 
<td>else</td> 
<td>here</td> 
</tr> 
</tbody> 
</table> 
</div> 

對於第一個td,這什麼都不做?

$(".location table tbody tr td:first-child").addClass("black"); 

我還可以使用二胎嗎?

+0

[看起來你的代碼應該工作。(http://jsfiddle.net/hr5gT/) – sdleihssirhc

+0

它只是選擇了第一個TD,沒有後續各個。 – stef

回答

80
$(".location table tbody tr td:first-child").addClass("black"); 
$(".location table tbody tr td:nth-child(2)").addClass("black"); 

http://jsfiddle.net/68wbx/1/

+0

我有一張桌子,進入

,而不是一個div,它沒有工作。 – Misi

17

要選擇第一和每一行的第二個單元格,你可以這樣做:如果你想添加一個類第一秒TD可以使用

$(".location table tbody tr").each(function() { 
    $(this).children('td').slice(0, 2).addClass("black"); 
}); 
+0

我喜歡slice(),因爲它比James Montagne的解決方案稍微更清潔。 –

+0

我喜歡這個電話,即使2個電話看起來更簡單(兩者都投了票)。我一直被切片(開始,結束)排除「結束」之一。 0,2(就像你擁有它)意味着第一和第二。 (不是第1到第3)。 – goodeye

3

.each()slice()

$(".location table tbody tr").each(function(){ 
    $(this).find("td").slice(0, 2).addClass("black"); 
}); 

Example on jsfiddle

2
$(".location table tbody tr").each(function(){ 
    $('td:first', this).addClass('black').next().addClass('black'); 
}); 

另:

$(".location table tbody tr").find('td:first, td:nth-child(2)').addClass('black'); 
0

你可以隨便挑下一個TD:

$(".location table tbody tr td:first-child").next("td").addClass("black"); 
+0

這隻適用於第二個td,不是嗎? – koppor

+0

是的,它確實... – Steeven

9

您可以通過這種方式也

var prop = $('.someProperty').closest('tr'); 

如果TR的數量是在陣列

$.each(prop , function() { 
    var gotTD = $(this).find('td:eq(1)');     
}); 
相關問題