1. ホーム
  2. javascript

[解決済み] idによる要素の削除

2022-03-20 03:08:51

質問

標準的なJavaScriptで要素を削除する場合、まずその親に移動する必要があります。

var element = document.getElementById("element-id");
element.parentNode.removeChild(element);

最初に親ノードに移動しなければならないのは、ちょっとおかしいと思うのですが、JavaScriptがこのように動作する理由があるのでしょうか?

解決方法は?

element.remove()

DOM はノードのツリーで構成されており、各ノードは子ノードへの参照リストとともに値を持っています。そのため element.parentNode.removeChild(element) は、内部で起こっていることをそのまま真似ています。まず親ノードを移動し、次に子ノードへの参照を削除します。

DOM4 では、同じことを行うためのヘルパー関数が提供されています。 element.remove() . これは は96%のブラウザで動作します (2020年現在)、ただしIE11ではありません。古いブラウザに対応する必要がある場合は、対応可能です。