ChildNode.remove()

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

O método ChildNode.remove() remove o objeto da árvore a que ele pertence.

Sintase

elementNodeReference.remove(); 

Exemplo

Usando 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-01');
el.nextElementSibling.remove(); // Remove o div com o id 'div-02'

ChildNode.remove() não tem escopo

O método remove() não tem escopo na função with. Veja Symbol.unscopables para mais informação.

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

Polyfill

Você pode evitar incompatibilidade ao usar o método remove() no Internet Explorer 9 em diante com o seguinte código:

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

Especificações

Especificação Situação Comentário
DOM
The definition of 'ChildNode.remove' in that specification.
Padrão em tempo real Definição Inicial.
DOM4
The definition of 'ChildNode.remove' in that specification.
Recomendação  

Compatibilidade de navegadores

Configuração Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (on Element) 23.0 (Yes) 23.0 (23.0) Não suportado[1] 10.0 7.0
Suporte em CharacterData e DocumentType 29.0 (Yes) 23.0 (23.0) Não suportado 16.0 7.0
Configuração
Android Android Webview Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Mobile
Suporte básico (on Element) (Yes) (Yes) (Yes) 23.0 (23.0) Não suportado 10.0 Não suportado (Yes)
Suporte emCharacterData e DocumentType (Yes) (Yes) (Yes) 23.0 (23.0) Não suportado 16.0 Não suportado (Yes)

[1] IE suporta a função não padrão removeNode(true): MSDN: removeNode.

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: gutoribeiro
 Última atualização por: gutoribeiro,