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
- 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
- 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- 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
http://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
Obsolete since Gecko 7.0Node.getUserData
Obsolete since Gecko 22.0Node.hasAttributes
Obsolete since Gecko 22.0Node.hasChildNodes
Node.insertBefore
Node.isDefaultNamespace
Node.isEqualNode
Node.isSameNode
Deprecated since Gecko 9.0 Obsolete since Gecko 10.0Node.isSupported
Obsolete since Gecko 22.0Node.lookupPrefix
Node.lookupNamespaceURI
Node.normalize
Node.removeChild
Node.replaceChild
Node.setUserData
Obsolete since Gecko 22.0
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
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);
};