其實這個題目沒啥好寫的,本來想搜一下看看網上有沒有流傳着現成的寫法。
但是搜了好幾頁也沒看見太簡潔的。
就隨手自己寫了一個。用於實現軟件篩選相關的DOM操作
當第一個軟件安裝之后,讓它跟后面的軟件替換一下位置,如圖所示:
開始是打算交換彼此的html,但是這樣的話 li上相關的屬性還要再次進行操作,還是移動他們的位置好了。
於是有如下代碼:
var exchange =
function(a,b){
var n = a.next(), p = b.prev();
b.insertBefore(n);
a.insertAfter(p);
var n = a.next(), p = b.prev();
b.insertBefore(n);
a.insertAfter(p);
};
這樣寫的前提是知道 a的序列比b要靠前,這樣 a 肯定有next() , 而b 也至少有 prev();
注意 先緩存插入的位置標記,否則一次dom移動之后,參照位就變了。