JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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

  1. JavaScriptで要素からクラス名を削除する方法【classList.remove()の使い方】

    JavaScriptでHTML要素からクラス名(className)を削除するには、classList.remove()メソッドを使うのが最もシンプルで確実な方法です。このメソッドを使えば、対象の要素から指定したクラスを動的に取り除くことができ、ボタンのクリックなどユーザーの操作に応じてスタイルを切り替える際に非常に便利です。 サンプルコード 以下は、「Remove Class」ボタンをクリックすると、DIV要素からクラス名が削除される例です。 <!DOCTYPE html> <html> <head> <meta name="viewpor

  2. CSSでcontenteditable要素の境界線(枠線)を削除する方法

    HTMLのcontenteditable属性を指定した要素は、ブラウザ上で直接テキストを編集できます。しかし、要素をクリックして編集モードにすると、多くのブラウザではデフォルトで青い枠線(アウトライン)が自動的に表示されます。この境界線を非表示にしたい場合は、CSSのoutlineプロパティを使用します。[contenteditable]セレクターに対してoutline: 0px solid transparent;を指定することで、編集時の枠線をきれいに取り除くことができます。コード例<!DOCTYPE html> <html> <head> <st