JavaScriptでDOM要素を削除・非表示にする2つの方法
JavaScriptを使って、DOMから要素を素早く削除または非表示にする2つの方法をわかりやすく解説します。
まず判断しよう:「後で再表示が必要か?」
JavaScriptでDOMから要素を取り除く方法は、主に2つあります。どちらを選ぶかは、次の質問への答えによって決まります。「この要素を、後でもう一度表示する必要があるか?」
答えが「はい」の場合は、要素を物理的に削除せず、styleプロパティを使って非表示にするのが適切です。
方法1: styleプロパティで要素を非表示にする
const hideElement = document.querySelector('#element-to-hide')
hideElement.style.display = 'none'
display: noneを設定すると、要素は画面上から消えますが、DOM内には残っているため、後からdisplay: ''や'block'などを指定すれば簡単に再表示できます。
方法2: removeChild()で要素を完全に削除する
逆に、その要素を二度と使う必要がないのであれば、親ノードから子ノードを削除する次の方法を使いましょう。
const removeElement = document.querySelector('#element-to-remove')
removeElement.parentNode.removeChild(removeElement)
なお、近年のブラウザではよりシンプルなelement.remove()メソッドも利用できます。こちらなら親ノードを意識せず、対象の要素を直接削除できます。
document.querySelector('#element-to-remove').remove()
querySelector()のセレクタ記法に注意
querySelector()で要素を取得する際は、セレクタの書き方に注意が必要です。ID属性を持つ要素を指定するときは先頭に#を、クラス名を指定するときは.を付けます。この記法を間違えると要素が取得できず、エラーや意図しない動作の原因になるため注意しましょう。
-
JavaScriptで要素からクラス名を削除する方法【classList.remove()の使い方】
JavaScriptでHTML要素からクラス名(className)を削除するには、classList.remove()メソッドを使うのが最もシンプルで確実な方法です。このメソッドを使えば、対象の要素から指定したクラスを動的に取り除くことができ、ボタンのクリックなどユーザーの操作に応じてスタイルを切り替える際に非常に便利です。 サンプルコード 以下は、「Remove Class」ボタンをクリックすると、DIV要素からクラス名が削除される例です。 <!DOCTYPE html> <html> <head> <meta name="viewpor
-
JavaScriptでボタンクリック時にli要素を削除する方法
Webアプリケーションでは、リスト項目を動的に削除できるようにしたいケースはよくあります。この記事では、各要素(li)に配置した「削除」ボタンをクリックすることで、該当する要素をJavaScriptだけで削除する方法を解説します。 前提:対象となる順序なしリスト(ul) 例として、次のような順序なしリスト(ul)を想定します。 <ul> <li class="subjectName">JavaScript <button>Remove</button></li> <br> <