2011-07-26 6 views
0

テーブルの各TDには、クラスが割り当てられています。現在のTRにその特定のTDが含まれていない場合は、各TRを繰り返し処理し、同じクラス名のすべてのTDをシフトしたいと思います。私はテーブルを再作成するのではなく、tdsを上げることによってそれをしたいと思います。例えば:Jquery - クラス名によるTDのシフト

<table> 
    <tr> 
     <td class="c1">A</td> 
     <td class="c2">A</td> 
    </tr> 
    <tr></tr> 
    <tr> 
     <td class="c1">B</td> 
    </tr> 
    <tr> 
     <td class="c1">C</td> 
     <td class="c2">B</td> 
    </tr> 
</table> 

は、だから私はこのようなもので終わる:

<table> 
    <tr> 
     <td class="c1">A</td> 
     <td class="c2">A</td> 
    </tr> 
    <tr> 
     <td class="c1">B</td> 
     <td class="c2">B</td> 
    </tr> 
    <tr> 
     <td class="c1">C</td> 
    </tr> 
    <tr></tr> 
</table> 

すべてのヘルプは歓迎です!

+0

のために行く - 何と同じクラスに? – tskuzzy

+0

@woot、あなたの構造に「穴」がありますか(例えば、 '.c1'と' .c3'では '.c2'ではなく' '要素ですか? '​​'要素は、あなたの実際のマークアップの中で(あなたの質問にあるように)常にそのクラス名によって順序付けられていますか? –

答えて

1
$('tr').each(function(i,elem) { 
    if ($(elem).find('.c1').length == 0) { 
    $('tr:gt('+i+')').each(function() { 
     if ($(this).find('.c1').length) { 
     elem.append($(this).find('.c1')); 
     return false; 
     } 
    }); 
    } 
}); 

同じ「同じクラスを持つすべてのTDシフトアップ」C2

関連する問題