2009-06-03 49 views
3

我試圖向特定類內的tr中的第一個td添加一個類。但由於某種原因它增加了這個類僅在每個TR如何將類添加到使用jQuery的表內的每個tr中的第一個td

$("#appendTD").find("#gridFormInformation").children(0).children().each(
       function() { 
        if ($("#appendTD").find('tr').filter(function() { return $(this).attr('class') == 'ui-widget-content ui-subtblcell'; }).children("td:eq(0)").addClass("leftbord")); 
       } 
      ); 

但是,當我改變上述通過刪除「在第一TR -not第一TD第一TD」 TD:當量(0)」它增加了這個類在每個TR每個TD ...那我下面

<td id="appendTD"> 
    <table id="gridFormInformation"> 
    <tbody> 
     <tr><th>1</th><th>2</th><th>3</th></tr> 
     <tr class="ui-widget-content ui-subtblcell"><td>1</td><td>2</td><td>3</td></tr> 
     <tr class="ui-widget-content ui-subtblcell"><td>1</td><td>2</td><td>3</td></tr> 
     <tr class="ui-widget-content ui-subtblcell"><td>1</td><td>2</td><td>3</td></tr> 
    </tbody> 
    </table> 
</td> 

回答

5

它LO對我來說,就像你使用複雜的手動方式來找到你想添加類的tds。我相信使用jQuery選擇器來查找你的tds會更容易。

更換

$("#appendTD").find("#gridFormInformation").children(0).children().each(
      function() { 
       if ($("#appendTD").find('tr').filter(function() { return $(this).attr('class') == 'ui-widget-content ui-subtblcell'; }).children("td:eq(0)").addClass("leftbord")); 
      } 
     ); 

$("#gridFormInformation tr.ui-widget-content.ui-subtblcell").find("td:first").addClass("leftbord"); 

這會發現所有的TRS和每個TR找到的第一個TD和類添加到。

+0

正是我一直在尋找的呢!謝謝 :-) – 2011-01-14 05:16:25

2

變化'td:eq(0)做錯了嗎?

例的標記來'td:first'

2

這種方法是將表gridFormInformation的每一行中添加leftbord到第一<td>

$('#gridFormInformation tr td:first-child').addClass('leftbord'); 
相關問題