2010-04-21 47 views
1

我有一個表,並且我想獲得所有行中的第一個「td」。jQuery:如何獲得所有行中的第一個「td」

我的jQuery的位置:

$("table.SimpleTable tr td:first-child").css('background-color','red'); 

和我的HTML瀏覽:

<table class='SimpleTable' border="1" ID="Table1"> 
     <tr> 
      <td>Left</td> 
      <td>Right</td> 
     </tr> 
     <tr> 
      <td>Left</td> 
      <td>Right</td> 
     </tr> 
     <tr> 
      <td>Left</td> 
      <td>Right</td> 
     </tr> 
     <tr> 
      <td>Left</td> 
      <td> 
       <table border="1" ID="Table2"> 
        <tr> 
         <td>AAA</td> 
         <td>AAA</td> 
         <td>AAA</td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
     <tr> 
      <td>Left</td> 
      <td> 
       <table border="1" ID="Table3"> 
        <tr> 
         <td>BBB</td> 
         <td>BBB</td> 
         <td>BBB</td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
    </table> 

這裏的問題就得到了第二個 「TD」 的嵌套表中的第一個 「TD」。

請幫幫我!

回答

0

正常的CSS選擇器將工作,你幾乎是現貨。在嵌套table第一td

$('table table tr td:first-child'); 

要選擇僅限制於第二個表將是:

$('table table tr td:first-child').filter(':nth(1)'); 

Live example at jsfiddle

1

嘗試:

$("table.SimpleTable > tbody > tr > td:first-child").css(..); 

>只搜索孩子仁而不是所有的後代。我們需要tbody作爲瀏覽器插入到表中。

example here

+0

不知道的jsfiddle的,感謝隊友! – 2010-04-21 07:16:53

+0

jsfiddle是塗料:)愛它! – Anurag 2010-04-21 07:18:42

+0

+1'tbody'。爲標記添加一個明確的''是一個好主意,以便清楚地說明發生了什麼,並確保它可以在您作爲XHTML服務時仍能正常工作。 – bobince 2010-04-21 07:19:28

0

您需要選擇即時/直接孩子,試試這個:

$("table.SimpleTable > tr td:first-child").css('background-color','red'); 

>讓您針對只顧眼前的元素

相關問題