replaceChildでタグを置き換える

replaceChildというのを使えば、タグを置き換える事が出来るみたいです。
例えば、ボタンを押すとテキストエリアに変わるスクリプト↓(IEの場合)

<body>
    <button id=btn>ボタン</button>

    <script type=text/javascript>
        btn.onclick = function() {
            var elm = document.createElement('textarea');

            this.parentNode.replaceChild(elm, this);
        };
    </script>
</body>

親要素がないといけないらしいけど、bodyの一つ下に書いても出来るという事は
この場合bodyが親要素になるのかね?よくわからんけど。
とすると、親要素がない場合というのがわからんな。



それと、removeChildなるものを使って削除も出来る。

    btn.parentNode.removeChild(btn);

気を付けないといけないのは、こっちもparentNodeというのを付ける点。


今までは

    btn.outerHTML = '';

これで削除してたけど、これはIEだけ?みたいなので
removeChildも覚えておいた方がいいかもしれない。