参考にしたページ(英語)
単に子供たちを再帰的に削除する。
自分自身を消すメソッドがよくわからなかったので、親にもどって親から見て子供の自分自身を消すようにした。
// remove an element and its children recursively function removeElementRecursively(node) { if(!node) return; removeChildrenRecursively(node); removeElement(node); } // remove an element function removeElement(node) { if(!node) return; node.parentElement.removeChild(node); } // remove children of an element recursively function removeChildrenRecursively(node) { if (!node) return; while (node.hasChildNodes()) { removeChildrenRecursively(node.firstChild); node.removeChild(node.firstChild); } }