MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Node.remove()

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

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

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

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

 

Синтаксис

Node.remove(); 
  • Node - любой узел DOM

Пример

Использование 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 и выше, используя следующий код:

// 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' в этой спецификации.
Живой стандарт Initial definition.

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

Особенность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка Element 23.0 23.0 (23.0) Нет 10.0 7.0
Поддержка CharacterData и DocumentType 29.0 23.0 (23.0) Нет 16.0 7.0
Особенность Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка Element (Да) 23.0 (23.0) Нет 10.0 Нет
Поддержка CharacterData и DocumentType (Да) 23.0 (23.0) Нет 16.0 Нет

Метки документа и участники

 Внесли вклад в эту страницу: NikitaCoder, In4in
 Обновлялась последний раз: NikitaCoder,