2009-06-25 151 views
3

我想在每個表格行的最後一個單元格上應用右對齊,跳過頁面上的第一個表格並跳過每個表格的第一行。除了第一個表格以外,每個表格上的第一行除外,每行都有jQuery選擇器

我寫了下面:

$("table:gt(0) tr:gt(0) td:last-child").css("text-align", "right"); 
  1. 第一選擇後的表格。好。
  2. 每一行中的最後一個單元格都是右對齊的。好。
  3. 跳過結果集中第一個表中的第一行。好。
  4. 結果集中後續表中的每個第一行都應用了樣式。壞。

我試過將一個函數傳遞給包裝集上的「每個」方法,但那是行不通的。有任何想法嗎?

回答

14

你幾乎在那裏。

$("table:gt(0)").find("tr:gt(0) td:last-child").css("text-align", "right"); 

否則,tr:gt(0)總是爲true,因爲jquery正在查看每個tr,而不是每個表中的每個tr。

+0

太棒了!那樣做了。 – 2009-06-25 20:57:47

0

可能有更好的方法,但有一個想法可能是在每個表的第一行添加一個類,而您不想使用該樣式並使用not(.myclass)將其過濾掉。

同樣,將類添加到您希望樣式轉到的表中。

1

使用DOM選擇表格並使用jQuery將樣式應用到表格有什麼問題?太多的代碼行?

1
$("table:gt(0) tr").each(){ 
    if($(this).not(":first-child")){ 
      $(this).find("td:last-child").css("text-align","right"); 
    } 
} 

可能不是最好的方式,但這是我該怎麼做。

+0

謝謝,這看起來也是一個很好的方法。我嘗試了類似的東西,但沒有把它做得很對。 – 2009-06-25 20:59:58

2

嘗試

$("table:gt(0) tr:not(:first-child) td:last-child").css("text-align", "right"); 

爲GT(0)僅是指你正在構建,而不是表jQuery對象的索引。

+0

也可以。謝謝。 – 2009-06-25 21:02:11

相關問題