--- title: Node slug: Web/API/Node translation_of: Web/API/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): {{domxref("Document")}}, {{domxref("Element")}}, {{domxref("Attr")}}, {{domxref("CharacterData")}} (do qual {{domxref("Text")}}, {{domxref("Comment")}}, e {{domxref("CDATASection")}} herdam), {{domxref("ProcessingInstruction")}}, {{domxref("DocumentFragment")}}, {{domxref("DocumentType")}}, {{domxref("Notation")}}, {{domxref("Entity")}}, {{domxref("EntityReference")}}
{{InheritanceDiagram}}
Herda propriedades de seus pais, {{domxref("EventTarget")}}.[1]
'/'
.null
, caso o nó não tenha nenhum filho.null
, caso o elemento não tenha nenhum filho.null
, caso tal nó não exista.Node
. A estrutura do nome irá mudar conforme o tipo do elemento. Veja as diferenças na documentação do método {{domxref("Node.nodeName")}}. 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 |
null
.null
.null
se não existe tal nodo.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. {{gecko_minversion_inline("1.9.2")}}
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. {{gecko_minversion_inline("1.9.2")}}
null
se nenhum prefixo é especificado.
Veja também {{domxref("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 |
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); }
DOMComb(parentNode, callbackFunction);
Percorre todos os nós filhos de parentNode
recursivamente e o próprio parentNode
e executa a callbackFunction
em cada um deles como this
.
parentNode
Object
do tipo Node
).callbackFunction
Function
).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); };