Element
=======

A interface **`Element`** é a classe base mais geral da qual todos os objetos em um `Document` herda. Ela somente tem métodos e propriedades comuns para todos os tipos de elementos. Mais classes específicas herdam de `Element`. Por exemplo, a interface `HTMLElement` (en-US) é a interface base para elementos HTML, enquanto a interface `SVGElement` (en-US) é a base para todos os elementos SVG. A maioria das funcionalidades é especificada mais abaixo da hierarquia de classes.

Linguagens fora do domínio da plataforma da Web, como XUL através da interface `XULElement`, também implementa `Element`.

Propriedades
------------

*Herda propriedades de seus parentes `Node`, e seu próprio parente, `EventTarget`, e implementa aqueles de `ParentNode`, `ChildNode`, `NonDocumentTypeChildNode` (en-US), e* `Animatable`.

`Element.attributes` Somente leitura 

Retorna um `NamedNodeMap` (en-US) que lista todos os atributos associados ao elemento.

`ParentNode.childElementCount`

É um `Number` representando o número de nós filhos que são elementos.

`ParentNode.children` (en-US)

É um `HTMLCollection` ao vivo contendo todos os elementos filhos do elemento, como uma coleção.

`Element.classList` Somente leitura 

Retorna um `DOMTokenList` (en-US) contendo a lista de atributos de classe.

`Element.className`

É um `DOMString` representando a classe do elemento.

`Element.clientHeight` 
Experimental
 Somente leitura 

Retorna um `Number` representando a altura interna do elemento.

`Element.clientLeft` (en-US) 
Experimental
 Somente leitura 

Retorna um `Number` representando a largura da borda do elemento..

`Element.clientTop` (en-US) 
Experimental
 Somente leitura 

Retorna um `Number` representando a largura da borda do topo do elemento.

`Element.clientWidth` (en-US) 
Experimental
 Somente leitura 

Retorna um `Number` representando a largura interna do elemento.

`ParentNode.firstElementChild` (en-US)

É um `Element`, o primeiro elemento filho direto de um elemento, ou `null` se o elemento não tem elementos filho.

`Element.id`

É um `DOMString` representando o id do elemento.

`Element.innerHTML` 
Experimental

É um `DOMString` representando a marcação do conteúdo do elemento.

`ParentNode.lastElementChild` (en-US)

É um `Element`, o último elemento filho direto de um elemento, ou `null` se o elemento não tem elementos filho.

`NonDocumentTypeChildNode.nextElementSibling` (en-US)

É um `Element`, o elemento seguido imediatamente do dito na árvore, ou `null` se não há nó irmão.

`Element.outerHTML` 
Experimental

É um `DOMString` representando a marcação do elemento incluindo seu conteúdo. Quando usado como um setter, substitui o elemento com nós analisados a partir de uma determinada string.

`NonDocumentTypeChildNode.previousElementSibling` (en-US)

É um `Element`, o elemento precedido imediatamente do dito na árvore, ou `nulo` se não há elemento irmão.

`Element.scrollHeight` (en-US) 
Experimental
 Somente leitura 

Retorna um `Number` representando a altura da vista de rolagem de um elemento.

`Element.scrollLeft` 
Experimental

É um `Number` representando o deslocamento de rolagem esquerdo do elemento.

`Element.scrollLeftMax` (en-US) 
Non-standard
 Somente leitura 

Retorna um `Number` representando o deslocamento de rolagem esquerdo máximo possível para o elemento.

`Element.scrollTop` 
Experimental

É um `Number` representando o deslocamento de rolagem superior de um elemento.

`Element.scrollTopMax` (en-US) 
Non-standard
 Somente leitura 

Retorna um `Number` representando o deslocamento de rolagem máximo superior possível para o elemento.

`Element.scrollWidth` 
Experimental
 Somente leitura 

Retorna um `Number` representando a largura de exibição de rolagem do elemento.

`Element.shadowRoot` (en-US) 
Experimental
 Somente leitura 

...

`Element.tagName` Somente leitura 

Retorna um `String` com o nome da tag para o elemento em questão.

`Element.undoManager` 
Experimental
 Somente leitura 

Retorna o `UndoManager` associado com o elemento.

`Element.undoScope` 
Experimental

É a `Boolean` indicando se o elemento é um anular hospedagem de escopo, ou não.

### Manipuladores de Eventos

`Element.ongotpointercapture` (en-US)

…

`Element.onlostpointercapture` (en-US)

…

`Element.onwheel` (en-US) 
Non-standard

Retorna o código de manipulação de evento para o evento `wheel`.

Métodos
-------

*Herda métodos de seus parentes `Node`, e seu proprío parente, `EventTarget`, e implementa aqueles de `ParentNode`, `ChildNode`, `NonDocumentTypeChildNode` (en-US), e `Animatable`.*

`EventTarget.addEventListener()`

Registra um manipulador de evento para um tipo específico de evento no elemento.

`Element.closest()` 
Experimental

Retorna o `Element`, descendente deste elemento(ou este elemento em si), que é o ancestral mais próximo dos elementos selecionados pelos seletores dados no parâmetro.

`Element.createShadowRoot()` (en-US) 
Experimental

…

`EventTarget.dispatchEvent()`

Despacha um evento para este nó no DOM e retorna um `Boolean` que indica que pelo menos um manipulador não o cancelou.

`Element.find()`
Experimental

...

`Element.findAll()`
Experimental

...

`Animatable.getAnimationPlayers()` 
Experimental

…

`Element.getAttribute()`

Recupera o valor do atributo nomeado do nó atual e o retorna como um `Object`.

`Element.getAttributeNS()` (en-US)

Recupera o valor do atributo com o nome especificado e namespace, do nó atual e o retorna como um `Object`.

`Element.getAttributeNode()` (en-US)

Recupera a representação do nó de um atributo nomeado do nó atual e o retorna como um `Attr`.

`Element.getAttributeNodeNS()` (en-US)

Recupera a representação de nó do atributo com o nome especificado e namespace, do nó atual e o retorna como um `Attr`.

`Element.getBoundingClientRect()` 
Experimental

...

`Element.getClientRects()` (en-US) 
Experimental
 TYPE of returnvalue????

Retorna uma coleção de retângulos que indicam os retângulos delimitadores para cada linha de texto em um cliente.

`Element.getDestinationInsertionPoints()` 
Experimental

…

`Element.getElementsByClassName()`

Retorna um `HTMLCollection` vivo que contêm todos os descendentes do elemento atual que possui a lista de classes dadas no parâmetro.

`Element.getElementsByTagName()` (en-US)

Retorna um `HTMLCollection` vivo contendo todos os elementos descendentes, de uma etiqueta de nome particular, do elemento atual.

`Element.getElementsByTagNameNS()` (en-US)

Retorna um `HTMLCollection` vivo contendo todos os elementos descendentes, de uma etiqueta de nome particular e namespace, do elemento atual.

`Element.hasAttribute()` (en-US)

Retorna um `Boolean` indicando se o elemento tem o atributo especificado ou não.

`Element.hasAttributeNS()` (en-US)

Retorna um `Boolean` indicando se o elemento tem um atributo especificado, no namespace especificado, ou não.

`Element.insertAdjacentHTML` 
Experimental

Analisa o texto como HTML ou XML e insere os nós resultantes na árvore em dada posição.

`Element.matches()` 
Experimental

Retorna um `Boolean` indicando se o elemento seria ou não selecionado pelo seletor de string specificada.

`Element.querySelector()`

Retorna `Node`...

`Element.querySelectorAll`

Retorna um `NodeList`...

`Element.releasePointerCapture` (en-US) 
Experimental

…

`ChildNode.remove()` (en-US)

Remove o elemento da lista de filhos de seu parente.

`Element.removeAttribute()`

Remove um atributo nomeado do nó atual.

`Element.removeAttributeNS()` (en-US)

Remove o atributo com o nome especificado ou namespace, do nó atual.

`Element.removeAttributeNode()` (en-US)

Remove a representação do nó do atributo nomeado do nó atual.

`EventTarget.removeEventListener()`

Remove um ouvinte de eventos do elemento.

`Element.requestFullscreen()` (en-US) 
Experimental

Assíncronamente pede o navegador para fazer o elemento tela cheia.

`Element.requestPointerLock()` (en-US) 
Experimental

Permite assíncronamente pedir pelo apontador para ser bloqueado em um dado elemento.

`Element.scrollIntoView()` 
Experimental

Rola a página até que o elemento apareça na visão.

`Element.setAttribute()`

Define o valor de um atributo nomeado do nó atual.

`Element.setAttributeNS()`

Define o valor do atributo com o nome especificado e namespace, do nó atual.

`Element.setAttributeNode()` (en-US)

Define a representação do nó de um atributo nomeado do nó atual.

`Element.setAttributeNodeNS()` (en-US)

Define a representação do nó do atributo com o nome especificado e namespace, do nó atual.

`Element.setCapture()` (en-US) 
Non-standard

Define a captura de evento do mouse, redirecionando todos os eventos de mouse para este elemento.

`Element.setPointerCapture()` (en-US)

…

Especificações
--------------

| Specification |
| --- |
| DOM Standard # interface-element |
| Pointer Events # extensions-to-the-element-interface |
| Pointer Lock 2.0 # extensions-to-the-element-interface |
| Fullscreen API Standard # api |
| DOM Parsing and Serialization # extensions-to-the-element-interface |
| CSSOM View Module # extension-to-the-element-interface |

Compatibilidade com navegadores
-------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.