Node

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

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, Comment, e CDATASection herdam), ProcessingInstruction, DocumentFragment, DocumentType, 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 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 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.

Node.nodePrincipal Non-standard

Uma interface nsIPrincipal representando o nó principal.

Node.nodeTypeSomente 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

Retorna / Define o valor do nó atual

Node.ownerDocument 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 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().

Propriedades obsoletas

Node.localNameSomente 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.namespaceURISomente 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 https://www.w3.org/1999/xhtml/, nas árvores HTML e XML.

Node.prefixSomente 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

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).

js
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.

Parâmetros

parentNode

O nó pai (Objectdo tipo Node).

callbackFunction

A função de callback (Function).

Exemplo de uso

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

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

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

Especificações

Specification
DOM
# interface-node

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Node
appendChild
baseURI
childNodes
cloneNode
compareDocumentPosition
contains
firstChild
getRootNode
hasChildNodes
insertBefore
isConnected
isDefaultNamespace
isEqualNode
isSameNode
lastChild
lookupNamespaceURI
lookupPrefix
nextSibling
nodeName
nodeType
nodeValue
normalize
ownerDocument
parentElement
parentNode
previousSibling
removeChild
replaceChild
selectstart event
textContent
Can be set with TrustedScript instances in HTMLScriptElement.
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.
Has more compatibility info.