2009-06-03 16 views
3

特定のクラス内のtr内の最初のtdにクラスを追加しようとしています。 「:EQ(0)TD」しかし、いくつかの理由でそれが唯一の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における最初のTD -not最初のTRの最初のTDにこのクラスを追加しますそれは'td:first'に私は間違って何をやっている?

<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

これ見よあなたがクラスを追加したいTDSを見つけるために複雑な手動の方法を使用しているように、あなたのtdsを見つけるためにjQueryセレクタを使う方が簡単だと思います。

これは、すべてのTRSを見つけるだろう

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

$("#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")); 
      } 
     ); 

を交換し、それぞれの最初のTDを見つけTrとそれにクラスを追加します。

+0

私も探していたものだけ!ありがとう:-) –

2

以下のマークアップを変更'td:eq(0)

例を...各TRにおける各TDにこのクラスを追加します。

2

この方法では、テーブルgridFormInformationの各行の最初の<td>leftbordを追加することです:

$('#gridFormInformation tr td:first-child').addClass('leftbord'); 
関連する問題