2012-03-19 30 views
2

說我有一個表:如何使用javascript/jquery將最深的TD更改爲顏色?

<table id="#myTable"> 
    <tr> 
     Section 1 
     <td> 
      <table> 
       <tr> 
        Sub 1 
        <td>Sub2</td> 
        Sub3 
        <td>Sub 4</td> 
       </tr> 
      </table> 
     </td> 

     <td>Section 2</td> 
    </tr> 
</table> 

我如何做一個jQuery選擇爲查找包含Sub4的TD和改變其顏色爲紅色,而不會影響所有其他的人的背景色的功能?

我想:

$("#myTable td:contains('Sub 4')").css('background','red'); 

但它似乎認爲,外表還捕獲事件。我如何得到最內層的td的參考?

+3

你可能想再次檢查你的標記。我試圖編輯,但無法理解它 – Joseph 2012-03-19 22:00:33

+3

可能的重複問題:http://stackoverflow.com/questions/3787924/select-deepest-child-in-jquery – Evan 2012-03-19 22:01:25

+1

Erm ...據我所知,標記是無效。你應該只在''內有其他元素(如'​​'和''),但是我看到你在第一個「​​」之前有文本「Section 1」?先解決這個問題...... – nzifnab 2012-03-19 22:04:52

回答

0

你在錯誤的方式分配一個ID

<table id="#myTable"> 

應該

<table id="myTable"> 

如果這是您的表格

<table id="myTable" class="cls" border='1'> 
    <tr> 
     <td>Section 1</td> 
     <td>Sub 1</td> 
    </tr> 
    <tr> 
     <td>Sub2</td> 
     <td>Sub3</td> 
    </tr> 
    <tr> 
     <td>Sub 4</td> 
    </tr> 
    <tr> 
     <td>Section 2</td> 
    </tr> 
</table>​ 

那麼你可以使用

$("#myTable tr td:contains('Sub 4')").css('background','red'); 

應用紅色背景色只有TD containning 「分4」。

小提琴是here

0

通過最深的,我猜你實際上意味着在一個特定行的最後一個TD:

$('#mytable tr td:last').css('background', 'red'); 
       ^^^^^-- add that. 
+0

如果他想要最後一個,這是正確的,但是如果他想要包含'Sub 4'的td(不管序位) – nzifnab 2012-03-19 22:23:25

相關問題