2

上に移動ボタンをクリックして、2 つの td の内容を互いに交換したいと考えています。つまり、2 番目の td と 3 番目の td の間でコンテンツを交換したいということです。

私はそれをやり遂げましたが、「スワップされたtdが、スワップ後に現在のtdがクリックされたかどうかを示すクラスを切り替えていない」という点でほとんど問題に直面しています。

以下のように、td の内容を交換するためにこのコードを使用しています。

var currentTr = $("#selectedTab td.backgroundcolor").parent();

var previousTr = currentTr.prev();

var temp = currentTr.html();

$(currentTr).html(previousTr.html());

$(previousTr).html(temp);
4

1 に答える 1

2

DOM での HTML 操作は破壊的な場合があります。代わりに、DOM ノード自体を移動する必要があります。

var currentTr = $("#selectedTab td.backgroundcolor").parent();
var previousTr = currentTr.prev();

var temp = currentTr.contents().detach();

currentTr.append(previousTr.contents());

previousTr.append(temp);

この方法では、すべてのノードをシリアル化、破棄、および再構築することはありません。あなたはそれらを動かしているだけです。

于 2013-05-11T11:53:01.843 に答える