Esta tradução não está completa. Por favor ajude a traduzir este artigo a partir do Inglês.
Node
é uma interface da qual uma varidade de tipos do DOM herdam e permite que estes vários tipos seja tratados (ou testados) de forma similar.
As seguintes interfaces todas herdam de Node
os seus métodos e propriedades:Document
, Element
, CharacterData
(que Text
, Comment
, e CDATASection
herdam), ProcessingInstruction
, DocumentFragment
, DocumentType
, Notation
, Entity
, EntityReference
Estas interfaces podem retornar null
em casos particulares, em que estes métodos e propriedades não são relevantes. Podem lançar uma excepção - por exempo, ao adicionar nós-filho a um tipo de nó para o qual não está prevista a existência de nós descendentes.
Propriedades
Herda propriedades do seu pai EventTarget
.[1]
-
Node.attributes
- ...
-
Node.baseURI
Read only -
Retorna uma
DOMString
que represente o URL base. O conceito de URL base varia de língua para língua; em HTML corresponde: ao protocolo, nome do domínio e estrutura de directórios, ou seja, tudo até à última '/
'. -
Node.baseURIObject
-
(Não disponível para conteúdo Web). O objecto
nsIURI
apenas de leitura representa o URI base para o elemento. -
Node.childNodes
Read only -
Retorna uma
NodeList
activa quem contém todos os descendentes desse nó. SendoNodeList
uma lista activa, significa que os descendentes doNode
mudam, o objectoNodeList
é automaticamente actualizado. -
Node.firstChild
Read only -
Retorna um
Node
que representa o primeiro descendente directo do nó ounull
se o nó não tiver descendentes. -
Node.lastChild
Read only -
Retorna um
Node
que representa o último descendente directo doNode,
ounull
caso onode
não tenha descendentes. -
Node.localName
Read only -
Retorna uma
DOMString
que representa a parte local do nome qualificado do elemento. No Firefox 3.5 e anteriores, a propriedade exibe o nome local do elemento HTML em maiúsculas (mas não o faz para elementos XHTML). Em versões posteriores, isto não se verifica, portanto a propriedade é exibida em letras minúsculas para ambos HTML e XHTML. . Apesar da especificação requerer quelocalName
seja definido no interfaceNode
, browsers Gecko-based implementam-no no interfaceElement
. -
Node.namespaceURI
Read only -
O URI do namspace do
node
em causa, ounull,
se não possuirnamespace
. No Firefox 3.5 e anteriores, elementos HTML não se encontravam em qualquer namespace. Em versões posteriores, elementos HTML estão no namespacehttps://www.w3.org/1999/xhtml
quer na tree de HTML, quer na de XHTML -
Apesar da especificação requerer
namespaceURI
definido no interfaceNode
, browsers Gecko-based implementam-no no interfaceElement
. -
Node.nextSibling
Read only -
Retorna um
Node
que representa o próximonode
na tree, ounull
caso essenode
não exista. -
Node.nodeName
Read only -
Retorna uma
DOMString
que contém o nome doNode
. A estrutura do nome difere do tipo do nome. Exemplo: umHTMLElement
irá conter o nome da tag correspondente, como'audio'
para umHTMLAudioElement
, umText
node irá ter a string'#text'
, ou então umDocument
node irá ter uma string'#document'
. -
Node.nodePrincipal
-
Um
nsIPrincipal
representa um node principal. -
Node.nodeType
Read only -
Retorna um
unsigned short
que representa o tipo de node. Os 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
-
É a
DOMString
que representa o valor de um objecto. Para a maioria dos tipos deNode
, isto retornanull
e qualquer operação é ignorada. Para nodes do tipoTEXT_NODE
(objectosText
),COMMENT_NODE
(Comment
objects), ePROCESSING_INSTRUCTION_NODE
(ProcessingInstruction
objects), o valor corresponde ao valor textual contido no objecto. -
Node.ownerDocument
Read only -
Retorna o
Document
a que este node pertence. Se nenhum documento está associado com este, retornanull
. -
Node.parentNode
Read only -
Retorna um
Node
que é o ascendente deste node. Se não existir tal node, como por exemplo se este node se encontra no nível raiz da tree ou se não consta nesta, esta propriedade retornanull
. -
Node.parentElement
Read only -
Retorna um
Element
que é o ascendente deste node. Caso este node não tenha ascendente ou se o seu ascendente não é umElement
, esta propriedade retornanull
. -
Node.prefix
-
É uma
DOMString
que representa o prefixo do namespace do node, ounull
caso nenhum prefixo seja especificado. -
Apesar da especificação requerer
localName
para ser definida no interfaceNode
, browsers Gecko-based implementam-no no interfaceElement
. -
Node.previousSibling
Read only -
Retorna um
Node
que representa o node anterior na tree ounull
caso o node não exista. -
Node.textContent
-
É uma
DOMString
que representa o valor textual de um elemento e todos os seus descendentes.
Métodos
Herda métodos dos seus pais EventTarget
.[1]
-
Node.appendChild()
-
Insere um
Node
como último descendente do elemento em causa. -
Node.cloneNode()
-
Clona um
Node
e, opcionalmente, todo o seu conteúdo. Por omissão, clona o conteúdo do node. -
Node.compareDocumentPosition()
-
Node.contains()
-
Node.getFeature()
- ...
-
Node.getUserData()
-
Permite ao utilizador extrair alguma
DOMUserData
do node. -
Node.hasAttributes()
-
Retorna um
Boolean
que indica se o elemento tem atributos ou não. -
Node.hasChildNodes()
-
Retorna um
Boolean
que indica se o elemento tem descendentes ou não. -
Node.insertBefore
-
Insere o primeiro
Node
dado num parâmetro imediatamente antes do segundo descendente desteNode
. -
Node.isDefaultNamespace
-
Node.isEqualNode
-
Node.isSameNode
-
Node.isSupported
-
Retorna uma flag
Boolean
que contém o resultado de um teste à implementação do DOM para aferir o suporte deste ou do node a uma determinada propriedade. -
Node.lookupPrefix
-
Node.lookupNamespaceURI
-
Node.normalize
- Limpa todos os nodes textuais abaixo deste (converge os adjacentes e remove os vazios)
-
Node.removeChild
- Remove um node descendenter do elemento actual. Este deve ser um descendente do node actual.
-
Node.replaceChild
-
Substitui um
Node
descendente do actual com o fornecido no segundo parâmetro. -
Node.setUserData
-
Permite a um utilizador anexar, ou remover
DOMUserData
do node.
Exemplos
Percorrer todos os nodes descendentes
A seguinte função itera sobre os nodes descendentes de um node recursivamente e executa uma função de callback sobre os mesmos (e sobre o próprio node-pai).
function DOMComb (oParent, oCallback) { if (oParent.hasChildNodes()) { for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) { DOMComb(oNode, oCallback); } } oCallback.call(oParent); }
Síntaxe
DOMComb(parentNode, callbackFunction);
Descrição
Recursivamente iterar sobre os nodes descendentes de um parentNode
e o próprio parentNode
, executando uma callbackFunction
sobre estes como objectos this
.
Parâmetros
Exemplo de utilização
O exemplo seguinte envia para a console.log
o conteúdo textual do body:
function printContent () { if (this.nodeValue) { console.log(this.nodeValue); } } onload = function () { DOMComb(document.body, printContent); };
Especificações
Especificação | Estado | Comentários |
---|---|---|
DOM The definition of 'Node' in that specification. |
Living Standard | Removidas as seguintes propriedades: attributes , namespaceURI , prefix , e localName .Removidos os seguintes métodos: isSupported() , hasAttributes() , isSameNode() , getFeature() , setUserData() , e getUserData() . |
Document Object Model (DOM) Level 3 Core Specification The definition of 'Node' in that specification. |
Recommendation | Os métodos insertBefore() , replaceChild() , removeChild() , e appendChild() retornam mais um tipo de erro (NOT_SUPPORTED_ERR ) caso sejam chamados no Document .O método normalize() foi modificado para que o node Text possa também ser normalizado se a flag correcta de DOMConfiguration estiver definida.Adicionados os seguintes métodos: compareDocumentPosition() , isSameNode() , lookupPrefix() , isDefaultNamespace() , lookupNamespaceURI() , isEqualNode() , getFeature() , setUserData() , e getUserData(). Adicionadas as seguintes propriedades: baseURI e textContent . |
Document Object Model (DOM) Level 2 Core Specification The definition of 'Node' in that specification. |
Recommendation | A propriedade ownerDocument foi ligeiramente alterada para que um DocumentFragment possa também retornar null .Adicionadas as seguintes propriedades: namespaceURI , prefix , e localName .Adicionados os seguintes métodos: normalize() , isSupported() and hasAttributes() . |
Document Object Model (DOM) Level 1 Specification The definition of 'Node' in that specification. |
Recommendation | Definição inicial. |
Compatibilidade por browser
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) |
getFeature() |
Not supported | Suportada desde: 1.0 (1.7 or earlier) até 6.0 (6.0). Removida em: 7.0 (7.0) |
? | Not supported | Not supported |
getUserData() , setUserData() e hasAttributes() |
Not supported | Suportada desde: 1.0 (1.7 or earlier) até 21.0 (21.0). Removida em: 22.0 (22.0) |
? | Not supported | Not supported |
isSameNode() |
Not supported | Suportada desde: 1.0 (1.7 or earlier) até 9.0 (9.0). Removida em: 10.0 (10.0) |
? | Not supported | Not supported |
isSupported() |
? | Suportada desde: 1.0 (1.7 or earlier) até 21.0 (21.0). Removida em: 22.0 (22.0) |
? | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Yes) | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
getFeature() |
Not supported | Suportade desde: 1.0 (1.7 or earlier) até 6.0 (6.0). Removida em: 7.0 (7.0) |
? | Not supported | Not supported |
[1] Webkit e Blink incorrectamente não fazem com que Node
herde de EventTarget
.