[解決済み] 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ではありません。古いブラウザに対応する必要がある場合は、対応可能です。
- のように、親ノード経由で要素を削除します。 質問 ,
- のように、ネイティブの DOM 関数を変更します。 Johan Dettmar氏の回答 または
- を使う DOM4ポリフィル .
関連
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] どのDOM要素にフォーカスがあるかを調べるには?
-
[解決済み] JavaScript で DOM ノードのすべての子要素を削除する
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vueにシンプルなメモ帳機能を実装
-
vueにおけるv-forループオブジェクトのプロパティ
-
Vueのフィルタの説明
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み] Web API エラー - このリクエストはブロックされました; コンテンツは HTTPS で提供されなければなりません
-
[解決済み】React - TypeError: 未定義のプロパティ 'props' を読み取ることができない。
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
[解決済み】JavaScriptのDOMで要素を削除する