HTML DOM Nodes
No HTML DOM (Document Object Model) , tudo é um nó:
- O documento em si é um nó de documento
- Todos os elementos HTML são nós de elemento
- Todos os atributos HTML são nós de atributo
- O texto dentro elementos HTML são nós de texto
- Os comentários são nós de comentário
O Document Object
Quando um documento HTML é carregado em um navegador web, torna-se um objeto de documento.
O objeto de documento é o nó raiz do documento HTML e o "owner" de todos os outros nós:
(Nós elemento, nós de texto, atribuir nós e nós de comentário).
O objeto documento fornece propriedades e métodos para acessar todos os objetos de nó, de dentro JavaScript.
Tip: O documento é uma parte do objeto Janela e pode ser acessado como window.document.
Suporte navegador
| Objeto | |||||
|---|---|---|---|---|---|
| Document | sim | sim | sim | sim | sim |
O Document Object é suportado em todos os principais navegadores.
Propriedades de objeto de documento e Métodos
As seguintes propriedades e métodos podem ser usados em documentos HTML:
| Propriedade / Método | Descrição |
|---|---|
| document.activeElement | Retorna o elemento atualmente focada no documento |
| documento. addEventListener() | Anexa um manipulador de eventos para o documento |
| documento. adoptNode() | Adota um nó de outro documento |
| document.anchors | Retorna uma coleção de todos os <a> elementos no documento que têm um atributo de nome |
| document.applets | Retorna uma coleção de todos os <applet> elementos no documento |
| document.baseURI | Retorna o URI de base absoluta de um documento |
| document.body | Define ou retorna o corpo do documento (the <body> element) |
| documento. close() | Fecha o fluxo de saída aberta anteriormente com o documento. open() |
| document.cookie | Retorna todos os pares nome / valor de cookies no documento |
| documento. createAttribute() | Cria um nó de atributo |
| documento. createComment() | Cria um nó de comentário com o texto especificado |
| documento. createDocumentFragment() | Cria um nó DocumentFragment vazia |
| documento. createElement() | Cria um nó de elemento |
| documento. createTextNode() | Cria um nó de texto |
| document.doctype | Retorna a Declaração Tipo de Documento associado ao documento |
| document.documentElement | Retorna o elemento do documento do documento (the <html> element) |
| document.documentMode | Retorna o modo utilizado pelo navegador para renderizar o documento |
| document.documentURI | Define ou retorna a localização do documento |
| document.domain | Retorna o nome do domínio do servidor que colocou o documento |
| document.domConfig | Obsoleto. Retorna a configuração DOM do documento |
| document.embeds | Retorna uma coleção de todos os <embed> elementos do documento |
| document.forms | Retorna uma coleção de todos os <form> elementos no documento |
| documento. getElementById() | Retorna o elemento que tem o ID atributo com o valor especificado |
| documento. getElementsByClassName() | Retorna um NodeList que contém todos os elementos com o nome da classe especificada |
| documento. getElementsByName() | Retorna um NodeList que contém todos os elementos com um nome especificado |
| documento. getElementsByTagName() | Retorna um NodeList que contém todos os elementos com o nome da marca especificada |
| documento. hasFocus() | Retorna um valor booleano que indica se o documento tem o foco |
| document.head | Retorna o <head> elemento do documento |
| document.images | Retorna uma coleção de todos os <img> elementos no documento |
| document.implementation | Retorna o objeto DOMImplementation que lida com este documento |
| documento. importNode() | Importa um nó de outro documento |
| document.inputEncoding | Retorna a codificação, conjunto de caracteres, usado para o documento |
| document.lastModified | Retorna a data e hora que o documento foi modificado pela última vez |
| document.links | Retorna uma coleção de todos os <a> e <area> elementos no documento que têm um atributo href |
| documento. normalize() | Remove nodos de texto vazio, e junta-se nós adjacentes |
| documento. normalizeDocument() | Remove nodos de texto vazio, e junta-se nós adjacentes |
| documento. open() | Abre um fluxo de saída HTML para coletar saída do documento. write() |
| documento. querySelector() | Retorna o primeiro elemento que corresponde a um CSS especificado selector(s) no documento |
| documento. querySelectorAll() | Retorna um NodeList estática que contém todos os elementos que corresponde a um CSS especificado selector(s) no documento |
| document.readyState | Retorna a (loading) de status do documento |
| document.referrer | Retorna o URL do documento que carregou o documento atual |
| documento. removeEventListener() | Remove um processador de eventos do documento (que foi ligado com o addEventListener() método) |
| documento. renameNode() | Muda o nome do nó especificado |
| document.scripts | Retorna uma coleção de <script> elementos no documento |
| document.strictErrorChecking | Define ou retorna se de verificação de erros é aplicada ou não |
| título do documento | Define ou retorna o título do documento |
| document.URL | Retorna o URL completo do documento HTML |
| documento. write() | Escreve expressões código HTML ou JavaScript a um documento |
| documento. writeln() | Mesmo que write() , mas acrescenta um caractere de nova linha após cada declaração |
Atenção !!!
No W3C DOM Core, o objecto do documento herda todas as propriedades e métodos do objecto do nó.
Muitas dessas propriedades e métodos não fazem sentido usado em documentos.
Evite usar essas propriedades nó de objetos e métodos em objetos de documento HTML:
| Propriedade / Método | Razão para evitar |
|---|---|
| document.attributes | Documentos não possuem atributos |
| documento. hasAttributes() | Documentos não possuem atributos |
| document.nextSibling | Documentos não tem irmãos |
| document.nodeName | Esta é sempre #document |
| document.nodeType | Isto é sempre 9 (DOCUMENT_NODE) |
| document.nodeValue | Documentos não têm um valor de nó |
| document.ownerDocument | Documentos não têm um documento proprietário |
| document.ownerElement | Documentos não têm um elemento proprietário |
| document.parentNode | Documentos não têm um nó pai |
| document.previousSibling | Documentos não tem irmãos |
| document.textContent | Os documentos não têm um conteúdo de texto |