1

次のコンテンツを生成する .net アプリからデータが取り込まれたテーブルがあります...

<table>
<tbody>
...
<tr>...anything below...
  <table>
  <tbody id="blahlkjasdblah">
    <tr><td> 
    lots of custom content
    </td></tr>
  </tbody>
  </table>
</tr>
<tr>...anything below...
    <div id="something">
    <table id="othertable">
    <tbody>
      <tr><td>
      lots of other custom content that is different
      </td></tr>
    </tbody>
    </table>
    </div>
</tr>
</tbody>
</table>

**these first two parent only** <tr> NOT NESTED TABLES OR TR blocksを逆にする最良の方法は何ですか?この方法では、一番下のものは最初のものの上にありますか?

ありがとう

4

5 に答える 5

9

メソッドを使用し[].reverseます。

[].reverse.call($("#myTable > tbody > tr")).appendTo("#myTable > tbody");

jsフィドル

または、jquery プラグインに変換します。

$.fn.reverse = [].reverse;
$("#myTable > tbody > tr").reverse().appendTo("#myTable > tbody");
于 2013-05-23T15:31:51.890 に答える
7
 var $body = $('tbody');    
 var list = $body.children('tr');
 $body.html(list.get().reverse());

デモ--> http://jsfiddle.net/kYwk9/

于 2013-05-23T15:31:35.623 に答える
3
table = $('tbody');
table.children().each(function(i,li){table.prepend(li)});
于 2013-05-23T15:31:46.153 に答える
3

最善の方法は、最初にこのテーブルが生成される方法を変更することです。現在、要素のリストの反復に基づいてサーバー側で行われていると思います。代わりに、AJAX 呼び出しを使用してこの要素のリストを収集するクライアント側のレンダリングに切り替えて、javascript がアクセスできるようにします。テーブルにリストを表示するために必要なテンプレート コードを作成します。行を並べ替える場合は、要素のリスト自体で操作を実行してから、テンプレート コードを再実行します。

于 2013-05-23T15:33:27.360 に答える
2

これを試して:

tbody = $('tbody');
tbody.children().each(function(i,tr){
    tbody.prepend(tr);
});

trそれは各要素を通過.prepend()tbody、それらがすべて逆になる結果になります。

ここに作業バージョンがあります: http://jsfiddle.net/Ybyjx/

于 2013-05-23T15:32:04.833 に答える