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() {
        if (this.parentNode !== null)
          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 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 23Opera Android 完全対応 14Safari iOS 完全対応 7Samsung Internet Android 完全対応 あり

凡例

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

関連情報