标签:
见demo
js代码
function exchange(el1, el2){ var ep1 = el1.parentNode, ep2 = el2.parentNode, index1 = Array.prototype.indexOf.call(ep1.children, el1), index2 = Array.prototype.indexOf.call(ep2.children, el2); ep2.insertBefore(el1,ep2.children[index2]); ep1.insertBefore(el2,ep1.children[index1]); }
代码非常简短,开始以为需要判断被交换的element是否是父层最后一个,但是实际看来,如果insertBefore第二个参数是undefined的话,那么是直接appendChild的。
标签:
原文地址:http://www.cnblogs.com/childsplay/p/4742966.html