--- title: Node.remove() slug: orphaned/Web/API/ChildNode/remove translation_of: Web/API/ChildNode/remove original_slug: Web/API/ChildNode/remove ---

Метод Node.remove() удаляет узел из дерева DOM

 

То, что элемент удалён из DOM, ещё не значит, что он удалён совсем! 

Он остался объектом и исчезнет только тогда, когда исчезнут все ссылки на него.

 

Синтаксис

Node.remove();

Пример

Использование remove()

<div id="box">
   <div id="one"></div>
   <div id="two"></div>
</div>
var elem = document.querySelector("#one");
elem.remove();
alert(document.querySelector("#box").innerHTML); //Исчез блок #one
alert(elem); //Но как видите, сам объект ещё жив

Полифил

Можно создать полифил для IE 9 и выше, используя следующий код:

(function() {
  var arr = [window.Element, window.CharacterData, window.DocumentType];
  var args = [];

  arr.forEach(function (item) {
    if (item) {
      args.push(item.prototype);
    }
  });

  // 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);
        }
      });
    });
  })(args);
})();

Спецификация

Спецификация Статус Комментарий
{{SpecName('DOM WHATWG', '#dom-childnode-remove', 'ChildNode.remove')}} {{Spec2('DOM WHATWG')}} Initial definition.

Поддержка браузерами

{{Compat("api.ChildNode.remove")}}