JQuery では、セレクターによって返されるほとんどすべてのオブジェクトをキャッシュできます。私の場合、<tr>
選択した要素 (<tbody>
テーブル内) の子 (複数可) を という変数にキャッシュしますrows
。
rows
次に、個々の行を操作するthis で JQuery メソッドを呼び出します。たとえば、合計で 5 行あり、最初の行と最後の行を入れ替えたい場合:
rows.eq(4).after(row1);
rows.eq(0).before(row5);
ただし、これは機能しません。最初の行は一番下に到達しますが、一番下の行は一番上に到達しません。
それが機能するのは、各操作で子の新しいコピーを取得することです。比較については、http: //jsfiddle.net/QNS5G/を参照してください。
ここでキャッシュされたアプローチの問題を引き起こしているのは何ですか?