2013-05-11 75 views
2

我想通過點擊向上移動按鈕來互換兩個td的內容。 我的意思是我想在第二個td和第三個td之間交換內容。使用jquery交換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); 

回答

2

HTML操縱DOM中的內容可以是破壞性的。您應該自己移動DOM節點。

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

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

currentTr.append(previousTr.contents()); 

previousTr.append(temp); 

這樣你就不會序列化,銷燬和重建所有的節點。你只是在移動它們。

+0

謝謝@squint。 – 2013-05-11 12:23:46

+0

不客氣。 – 2013-05-11 12:25:12

+0

如果我需要交換多個tds @squint – 2013-05-11 14:02:00