ES6 JavaScriptでDOMから要素を簡単に削除する方法
ES6(ECMAScript 2015)のJavaScriptを使えば、DOMから要素を削除するのはとても簡単です。特別なライブラリや複雑な処理は不要で、削除したい要素に対して remove() メソッドを呼び出すだけです。
remove() メソッドの基本的な使い方
まず querySelector() で対象の要素を取得し、その要素に remove() を実行します。
let element = document.querySelector("element-to-remove")
element.remove()
この2行のコードだけで、指定した要素がDOMから完全に取り除かれます。
具体例:h1要素を削除する
たとえば、Webページから h1 要素(見出し)を削除したい場合は、次のように書きます。
let headingOne = document.querySelector("h1")
headingOne.remove()
このコードを実行すると、ページ内の最初の h1 要素が画面上から消えます。ボタンのクリックイベントなどと組み合わせれば、ユーザーの操作に応じて動的に要素を削除することも可能です。
ブラウザ対応状況
remove() メソッドは、Chrome、Firefox、Safari、Edgeなどすべてのモダンブラウザでサポートされています。
一方で、Internet Explorer(IE11を含むすべてのバージョン)では利用できません。IEへの対応が必要なレガシー環境では、代わりに次のように親ノード経由で子要素を削除する方法を使いましょう。
element.parentNode.removeChild(element)
現在ではInternet Explorerのサポートは終了しているため、ほとんどのケースで remove() を安心して使用できます。
参照元:Caniuse.com
-
JavaScriptで要素からクラス名を削除する方法【classList.remove()の使い方】
JavaScriptでHTML要素からクラス名(className)を削除するには、classList.remove()メソッドを使うのが最もシンプルで確実な方法です。このメソッドを使えば、対象の要素から指定したクラスを動的に取り除くことができ、ボタンのクリックなどユーザーの操作に応じてスタイルを切り替える際に非常に便利です。 サンプルコード 以下は、「Remove Class」ボタンをクリックすると、DIV要素からクラス名が削除される例です。 <!DOCTYPE html> <html> <head> <meta name="viewpor
-
CSSでcontenteditable要素の境界線(枠線)を削除する方法
HTMLのcontenteditable属性を指定した要素は、ブラウザ上で直接テキストを編集できます。しかし、要素をクリックして編集モードにすると、多くのブラウザではデフォルトで青い枠線(アウトライン)が自動的に表示されます。この境界線を非表示にしたい場合は、CSSのoutlineプロパティを使用します。[contenteditable]セレクターに対してoutline: 0px solid transparent;を指定することで、編集時の枠線をきれいに取り除くことができます。コード例<!DOCTYPE html> <html> <head> <st