Método XML DOM appendChild()

Manual de referência do objeto Node

Definição e uso

O método appendChild() pode adicionar um novo nó filho ao final da lista de nós filhos do nó.

Este método pode retornar este novo nó filho.

Sintaxe:

appendChild(newchild)
Parâmetro Descrição
newchild Nó adicionado

Retorno

Nó adicionado.

Descrição

Este método adicionará o nó newchild ao documento, tornando-o o último nó filho do nó atual.

Se o newchild já existir na árvore do documento, ele será removido da árvore do documento e reinsertido em sua nova posição. Se o newchild for um nó DocumentFragment, ele não será inserido diretamente, mas seus nós filhos serão inseridos na ordem no final do array childNodes[] do nó atual.

Atenção, um nó de um documento (ou um nó criado por um documento) não pode ser inserido em outro documento. Isso significa que a propriedade ownerDocument do newchild deve ser a mesma que a propriedade ownerDocument do nó atual.

Exemplo

A seguir, a função inserirá um novo parágrafo no final do documento:

function appendMessage (message) {
  var pElement = document.createElement("p");
  var messageNode = document.createTextNode(message);
  pElement.appendChild(messageNode);
  document.body.appendChild(pElement);
}

Exemplo

Em todos os exemplos, usaremos o arquivo XML books.xmle a função JavaScript loadXMLDoc()

O seguinte trecho de código pode criar e adicionar um nó ao primeiro elemento <book>, e então exibir todos os nós filhos do primeiro elemento <book>:

xmlDoc=loadXMLDoc("books.xml");
var newel=xmlDoc.createElement('edição');
var newtext=xmlDoc.createTextNode('Primeiro');
newel.appendChild(newtext);
var x=xmlDoc.getElementsByTagName('book')[0];
x.appendChild(newel);;
var y=x.childNodes;
for (var i=0;i<y.length;i++)
  { 
  //Exibir apenas nós de elemento
  if (y[i].nodeType==1)
    { 
    document.write(y[i].nodeName);
    document.write("<br />");
    } 
  }

Saída:

título
autor
ano
preço
edição

Observação:O Internet Explorer ignorará os nós de texto em branco gerados entre nós (por exemplo, símbolos de nova linha), enquanto o Mozilla não fará isso. Portanto, no exemplo a seguir, estamos tratando apenas nós de elemento (nodeType=1).

Dica:Para mais informações sobre as diferenças entre XML DOM no IE e no Mozilla, acesse nossa Navegador DOM Capítulo.

Manual de referência do objeto Node