Vue.jsの実装の中で見かけたのですが、firstChildでwhileを回してappendChildすることで元の位置から削除されて移動させることが出来ます。 もとのコードではそのままdestにappendChildしてたけど要素が多い場合を考えるとDocumentFragmentに入れた方がいいかなとこんな感じになりました。 var src = document.getElementById("src"); var dest = document.getElementById("dest"); var df = document.createDocumentFragment(); var e; while (e = src.firstChild) { df.appendChild(e); } dest.appendChild(df);