ChildNode.remove()

ChildNode.remove() は所属するツリーからオブジェクトを削除します。

構文

node.remove();

remove() の使用

<div id="div-01">Here is div-01</div>
<div id="div-02">Here is div-02</div>
<div id="div-03">Here is div-03</div>
var el = document.getElementById('div-02');
el.remove(); // 'div-02' の id を持った div を削除

ChildNode.remove() はスコーピングに非対応

remove() メソッドは with 文でのスコーピングに対応していません。 詳細は Symbol.unscopables をご覧ください。

with(node) { 
  remove();
}
// ReferenceError: remove is not defined 

ポリフィル

以下のポリフィルで、Internet Explorer 9 以降でも remove() メソッドが利用できます。

// from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md
(function (arr) {
  arr.forEach(function (item) {
    if (item.hasOwnProperty('remove')) {
      return;
    }
    Object.defineProperty(item, 'remove', {
      configurable: true,
      enumerable: true,
      writable: true,
      value: function remove() {
        this.parentNode.removeChild(this);
      }
    });
  });
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);

仕様書

仕様書 状態 備考
DOM
ChildNode.remove の定義
現行の標準 初回定義

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
removeChrome 完全対応 23Edge 完全対応 12Firefox 完全対応 23IE 未対応 なしOpera 完全対応 15Safari 完全対応 7WebView Android 完全対応 ≤37Chrome Android 完全対応 25Firefox Android 完全対応 23Opera Android 完全対応 14Safari iOS 完全対応 7Samsung Internet Android 完全対応 1.5

凡例

完全対応  
完全対応
未対応  
未対応

関連情報