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も覚えておいた方がいいかもしれない。