DOMノードを入れ替える
その1
function swapNode (a, b) { var c = a.cloneNode (false); var p = b.parentNode; p.insertBefore (c, b); a.parentNode.replaceChild (b, a); p.replaceChild (a, c); }
その2
function swapNode (a, b) { var p = b.parentNode; var n = b.nextSibling; a.parentNode.replaceChild (b, a); n ? p.insertBefore (a, n): p.appendChild (a); }