2013-05-11 32 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