W3cubDocs

/DOM

ChildNode.remove

The ChildNode.remove() method removes the object from the tree it belongs to.

Syntax

node.remove(); 

Example

Using 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(); // Removes the div with the 'div-02' id

ChildNode.remove() is unscopable

The remove() method is not scoped into the with statement. See Symbol.unscopables for more information.

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

Polyfill

You can polyfill the remove() method in Internet Explorer 9 and higher with the following code:

// 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]);

Specifications

Specification Status Comment
DOM
The definition of 'ChildNode.remove' in that specification.
Living Standard Initial definition.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (on Element) 23.0 (Yes) 23.0 (23.0) No support[1] 10.0 7.0
Support on CharacterData and DocumentType 29.0 (Yes) 23.0 (23.0) No support 16.0 7.0
Feature Android Android Webview Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Mobile
Basic support (on Element) (Yes) (Yes) (Yes) 23.0 (23.0) No support 10.0 No support (Yes)
Support on CharacterData and DocumentType (Yes) (Yes) (Yes) 23.0 (23.0) No support 16.0 No support (Yes)

[1] IE supports the non-standard removeNode(bool) function, where the bool argument indicates whether the child nodes of the given element should also be removed. MSDN: removeNode

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove