参考にしたページ(英語)
単に子供たちを再帰的に削除する。
自分自身を消すメソッドがよくわからなかったので、親にもどって親から見て子供の自分自身を消すようにした。
// 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);
}
}
