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
, Comment
, e CDATASection
herdam), ProcessingInstruction
, DocumentFragment
, DocumentType
, Notation
, Entity
, EntityReference
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 objetoNodeList
é vivo significa que se houver alguma mudança em um dos filhos deste nó, o objetoNodeList
é automaticamente atualizado com tais mudanças. Node.firstChild
Somente leitura-
Retorna um
Node
representando o primeiro filho direto do nó ounull
, caso o nó não tenha nenhum filho. Node.lastChild
Somente leitura-
Retorna um
Node
representando o último filho direto do elemento ounull
, caso o elemento não tenha nenhum filho. Node.nextSibling
Somente leitura-
Retorna um
Node
representando o próximo elemento na árvore ounull
, caso tal nó não exista. Node.nodeName
Somente leitura-
Retorna uma
DOMString
contendo o nome do elemento, doNode
. A estrutura do nome irá mudar conforme o tipo do elemento. Veja as diferenças na documentação do métodoNode.nodeName
. Node.nodePrincipal
Non-standard-
Uma interface
nsIPrincipal
representando o nó principal. Node.nodeType
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
-
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, retornanull
. 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 retornanull
. Node.previousSibling
Somente leitura-
Retorna um
Node
representando o último nó em uma árvore ounull
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 porNode.getRootNode()
.
Propriedades obsoletas
Node.localName
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
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
https://www.w3.org/1999/xhtml/
, nas árvores HTML e XML. Node.prefix
Somente leitura-
É um
DOMString
representando o espaço de nomes do nó, ounull
se nenhum prefixo é especificado.
Métodos
Node.appendChild
Node.cloneNode
Node.compareDocumentPosition
Node.contains
Node.getFeature
Node.getUserData
Node.hasAttributes
Node.hasChildNodes
Node.insertBefore
Node.isDefaultNamespace
Node.isEqualNode
Node.isSameNode
DeprecatedNode.lookupPrefix
Node.lookupNamespaceURI
Node.normalize
Node.removeChild
Node.replaceChild
Node.setUserData
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).
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 (
Object
do 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:
function imprimeConteudo() {
if (this.nodeValue) {
console.log(this.nodeValue);
}
}
onload = function () {
DOMComb(document.body, imprimeConteudo);
};
Especificações
Specification |
---|
DOM Standard # interface-node |
Compatibilidade com navegadores
BCD tables only load in the browser