jQuery 交换两个元素位置

其实这个题目没啥好写的,本来想搜一下看看网上有没有流传着现成的写法。

 但是搜了好几页也没看见太简洁的。

就随手自己写了一个。用于实现软件筛选相关的DOM操作

 当第一个软件安装之后,让它跟后面的软件替换一下位置,如图所示:

开始是打算交换彼此的html,但是这样的话 li上相关的属性还要再次进行操作,还是移动他们的位置好了。

 于是有如下代码:

 

var exchange = function(a,b){
                    var n = a.next(), p = b.prev();
                    b.insertBefore(n);
                    a.insertAfter(p);
                    

                    }; 

这样写的前提是知道 a的序列比b要靠前,这样 a 肯定有next() , 而b 也至少有 prev();

注意 先缓存插入的位置标记,否则一次dom移动之后,参照位就变了。 

 

 

posted on 2012-10-30 15:28  trance  阅读(22979)  评论(1编辑  收藏  举报

导航