Node

Node é uma interface da qual diversos tipos do DOM herdam, e que permite que esses tipos sejam tratados de forma similar, por exemplo, herdando os mesmos métodos ou sendo testados da mesma forma.

Todos os tipos a seguir herdam essa interface e seus métodos e propriedades (apesar de que alguns podem devolver null em casos particulares em que o método ou a propriedade não são relevantes; ou lançar uma exceção quando adicionando um filho a um tipo de nó que não pode ter filhos): Document, Element, Attr, CharacterData (do qual Text (en-US), Comment (en-US), e CDATASection (en-US) herdam), ProcessingInstruction, DocumentFragment, DocumentType (en-US), Notation, Entity, EntityReference

EventTarget Node

Propriedades

Herda propriedades de seus pais, EventTarget.[1]

Node.baseURI Somente leitura

Retorna uma DOMString representando o URL base do nó. O conceito de URL base muda de uma linguagem para outra; no HTML, ela corresponde ao protocolo, ao nome de domínio e a estrutura de diretório; tudo isso até a última '/'.

Node.baseURIObject (en-US) Non-standard

Retorna um objeto nsIURI, representando o URL base do nó. (Indisponível para conteúdo Web)

Node.childNodes Somente leitura

Retorna um objeto NodeList "vivo" contendo todos os filhos deste nó. Dizer que um objeto NodeList é vivo significa que se houver alguma mudança em um dos filhos deste nó, o objeto NodeList é automaticamente atualizado com tais mudanças.

Node.firstChild Somente leitura

Retorna um Node representando o primeiro filho direto do nó ou null, caso o nó não tenha nenhum filho.

Node.lastChild Somente leitura

Retorna um Node representando o último filho direto do elemento ou null, caso o elemento não tenha nenhum filho.

Node.nextSibling Somente leitura

Retorna um Node representando o próximo elemento na árvore ou null, caso tal nó não exista.

Node.nodeName (en-US) Somente leitura

Retorna uma DOMString contendo o nome do elemento, do Node. A estrutura do nome irá mudar conforme o tipo do elemento. Veja as diferenças na documentação do método Node.nodeName (en-US).

Node.nodePrincipal (en-US) Non-standard

Uma interface nsIPrincipal representando o nó principal.

Node.nodeType (en-US)Somente leitura

Retorna um unsigned short representando o tipo do nodo. Valores possíveis são:

Nome Valor
ELEMENT_NODE 1
ATTRIBUTE_NODE 2
TEXT_NODE 3
CDATA_SECTION_NODE 4
ENTITY_REFERENCE_NODE 5
ENTITY_NODE 6
PROCESSING_INSTRUCTION_NODE 7
COMMENT_NODE 8
DOCUMENT_NODE 9
DOCUMENT_TYPE_NODE 10
DOCUMENT_FRAGMENT_NODE 11
NOTATION_NODE 12
Node.nodeValue (en-US)

Retorna / Define o valor do nó atual

Node.ownerDocument (en-US) Somente leitura

Retorna o Document qual esse nó pertence. Se o nó em si é um documento, retorna null.

Node.parentNode Somente leitura

Retorna um Node que é pai desse nó. Se não existe tal nó, como, por exemplo, se esse nó é o topo da árvore ou se ele não participa de uma árvore, essa propriedade retorna null.

Node.previousSibling Somente leitura

Retorna um Node representando o último nó em uma árvore ou null se não existe tal nodo.

Node.textContent

Retorna / Define o conteúdo textual de um elemento e de todos os seus descendentes.

Propriedades descontinuadas

Node.rootNode (en-US) Somente leitura Deprecated

Retorna um objeto Node representando o nó mais alto em uma árvore, ou o nó atual, se ele for o mais alto da árvore. Isso foi substituído por Node.getRootNode() (en-US).

Propriedades obsoletas

Node.localName (en-US) This is an obsolete API and is no longer guaranteed to work. Somente leitura

Retorna um DOMString representando a parte local do nome qualificado de um elemento.

Nota: No Firefox 3.5 e nas versões anteriores, a propriedade coloca em caixa alta o nome local de elementos HTML (mas não elementos XHTML). Em versões posteriores, isso não acontece, então a propriedade está em caixa baixa para ambos HTML e XHTML.

Node.namespaceURI (en-US) This is an obsolete API and is no longer guaranteed to work. Somente leitura

O espaço de nomes URI desse nó, ou null se não estiver no espaço de nomes.

Nota: No Firefox 3.5 e nas versões anteriores, elementos HTML estão no espaço de nomes. Em versões posteriores, elementos HTML estão em http://www.w3.org/1999/xhtml/, nas árvores HTML e XML.

Node.prefix (en-US) This is an obsolete API and is no longer guaranteed to work. Somente leitura

É um DOMString representando o espaço de nomes do nó, ou null se nenhum prefixo é especificado.

Métodos

Constantes

Veja também Node.nodeType (en-US)

Nome Valor
ELEMENT_NODE 1
ATTRIBUTE_NODE 2
TEXT_NODE 3
DATA_SECTION_NODE 4
ENTITY_REFERENCE_NODE 5
ENTITY_NODE 6
PROCESSING_INSTRUCTION_NODE 7
COMMENT_NODE 8
DOCUMENT_NODE 9
DOCUMENT_TYPE_NODE 10
DOCUMENT_FRAGMENT_NODE 11
NOTATION_NODE 12
DOCUMENT_POSITION_DISCONNECTED 0x01
DOCUMENT_POSITION_PRECEDING 0x02
DOCUMENT_POSITION_FOLLOWING 0x04
DOCUMENT_POSITION_CONTAINS 0x08
DOCUMENT_POSITION_CONTAINED_BY 0x10
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC 0x20

Exemplos de código

Recuperar todos os nós filhos

A função a seguir percorre todos os nós filhos de um nó recursivamente e executa uma função de callback em cada um deles (e no nó pai também).

function DOMComb (oParent, oCallback) {
  if (oParent.hasChildNodes()) {
    for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) {
      DOMComb(oNode, oCallback);
    }
  }
  oCallback.call(oParent);
}

Sintaxe

DOMComb(parentNode, callbackFunction);

Descrição

Percorre todos os nós filhos de parentNode recursivamente e o próprio parentNode e executa a callbackFunction em cada um deles como this (en-US).

Parâmetros

parentNode

O nó pai (Objectdo tipo Node).

callbackFunction

A função de callback (Function (en-US)).

Exemplo de uso

O exemplo a seguir envia para a função console.log o conteúdo textual do body:

function imprimeConteudo () {
  if (this.nodeValue) { console.log(this.nodeValue); }
}

onload = function () {
  DOMComb(document.body, imprimeConteudo);
};

Especificações