--- title: Element slug: Web/API/Element tags: - API - DOM - DOM Reference - Element - Interface - Reference - Web API translation_of: Web/API/Element ---
{{ APIRef("DOM") }}
A interface Element é a classe base mais geral da qual todos os objetos em um {{domxref("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 {{domxref("HTMLElement")}} é a interface base para elementos HTML, enquanto a interface {{domxref("SVGElement")}} é 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.
Herda propriedades de seus parentes {{domxref("Node")}}, e seu próprio parente, {{domxref("EventTarget")}}, e implementa aqueles de {{domxref("ParentNode")}}, {{domxref("ChildNode")}}, {{domxref("NonDocumentTypeChildNode")}}, e {{domxref("Animatable")}}.
É um {{ domxref("Element") }}, o primeiro elemento filho direto de um elemento, ou null se o elemento não tem elementos filho.
null se o elemento não tem elementos filho.null se não há nó irmão.nulo se não há elemento irmão.wheel.Herda métodos de seus parentes {{domxref("Node")}}, e seu proprío parente, {{domxref("EventTarget")}}, e implementa aqueles de {{domxref("ParentNode")}}, {{domxref("ChildNode")}}, {{domxref("NonDocumentTypeChildNode")}}, e {{domxref("Animatable")}}.
{{experimental_inline}} {{experimental_inline}}| Specification | Status | Comment |
|---|---|---|
| {{SpecName("Web Animations", '', '')}} | {{Spec2("Web Animations")}} | Adicionado o método getAnimationPlayers(). |
| {{SpecName('Undo Manager', '', 'Element')}} | {{Spec2('Undo Manager')}} | Adicionadas as propriedades undoScope e undoManager. |
| {{SpecName('Pointer Events', '#extensions-to-the-element-interface', 'Element')}} | {{Spec2('Pointer Events')}} | Adicionados os seguintes manipuladores de evento: ongotpointercapture e onlostpointercapture.Adicionados os seguintes métodos: setPointerCapture() e releasePointerCapture(). |
| {{SpecName('Selectors API Level 2', '#interface-definitions', 'Element')}} | {{Spec2('Selectors API Level 2')}} | Adicionados os seguintes métodos: matches() (implementado como mozMatchesSelector()), find(), findAll(). |
| {{SpecName('Selectors API Level 1', '#interface-definitions', 'Element')}} | {{Spec2('Selectors API Level 1')}} | Adicionados os seguintes métodos: querySelector() e querySelectorAll(). |
| {{SpecName('Pointer Lock', 'index.html#element-interface', 'Element')}} | {{Spec2('Pointer Lock')}} | Adicionado o método requestPointerLock(). |
| {{SpecName('Fullscreen', '#api', 'Element')}} | {{Spec2('Fullscreen')}} | Adicionado o método requestFullscreen(). |
| {{SpecName('DOM Parsing', '#extensions-to-the-element-interface', 'Element')}} | {{Spec2('DOM Parsing')}} | Adicionadas as seguintes propriedades: innerHTML, e outerHTML.Adicionado o seguinte método: insertAdjacentHTML(). |
| {{SpecName('CSSOM View', '#extensions-to-the-element-interface', 'Element')}} | {{Spec2('CSSOM View')}} | Adicionadas as seguintes propriedades: scrollTop, scrollLeft, scrollWidth, scrollHeight, clientTop, clientLeft, clientWidth, e clientHeight.Adicionados os seguintes métodos: getClientRects(), getBoundingClientRect(), e scrollIntoView(). |
| {{SpecName('Element Traversal', '#ecmascript-bindings', 'Element')}} | {{Spec2('Element Traversal')}} | Adicionada herança da interface {{domxref("ElementTraversal")}}. |
| {{SpecName('DOM WHATWG', '#interface-element', 'Element')}} | {{Spec2('DOM WHATWG')}} | Removidos os seguintes métodos: closest(), setIdAttribute(), setIdAttributeNS(), e setIdAttributeNode().Removida a propriedade schemaTypeInfo.Modificado o valor de retorno de getElementsByTag() e getElementsByTagNS().Movida hasAttributes() da interface Node para esta. |
| {{SpecName('DOM3 Core', 'core.html#ID-745549614', 'Element')}} | {{Spec2('DOM3 Core')}} | Adicionados os seguintes métodos: setIdAttribute(), setIdAttributeNS(), e setIdAttributeNode(). Estes métodos nunca foram implementados e foram removidos em especificações posteriores.Adicionada a propriedade schemaTypeInfo. Esta propriedade nunca foi implementada e foi removida em especificações posteriores. |
| {{SpecName('DOM2 Core', 'core.html#ID-745549614', 'Element')}} | {{Spec2('DOM2 Core')}} | O método normalize() foi movido para {{domxref("Node")}}. |
| {{SpecName('DOM1', 'level-one-core.html#ID-745549614', 'Element')}} | {{Spec2('DOM1')}} | Definição inicial. |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Suporte básico | 1.0 | {{CompatGeckoDesktop("1")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 1.0 |
children |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.9")}} | 7.0 com um bug significativo[1] 9.0 de acordo com as especificações |
{{CompatVersionUnknown}} | {{CompatNo}} |
childElementCount, nextElementSibling, previousElementSibling |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.9.1")}} | 9.0 | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
firstElementChild, lastElementChild |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.9")}} | 9.0 | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
classList |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.9.2")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | |
outerHTML {{experimental_inline}} |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("11")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
clientLeft, clientTop {{experimental_inline}} |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.9.1")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
getBoundingClientRect(), getClientRects() {{experimental_inline}} |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.9")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
querySelector(), querySelectorAll() |
1.0 | {{CompatGeckoDesktop("1.9.1")}} | 8.0 | 10.0 | 3.2 (525.3) |
insertAdjacentHTML() {{experimental_inline}} |
1.0 | {{CompatGeckoDesktop("8")}} | 4.0 | 7.0 | 4.0 (527) |
setCapture() {{non-standard_inline}} |
{{CompatNo}} | {{CompatGeckoDesktop("2")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
oncopy, oncut, onpaste {{non-standard_inline}} |
{{CompatNo}} | {{CompatGeckoDesktop("1.9")}} | {{CompatVersionUnknown}} | {{CompatNo}} | |
onwheel {{non-standard_inline}} |
{{CompatNo}} | {{CompatGeckoDesktop("17")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
ongotpointercapture, onlostpointercapture, setPointerCapture(), e releasePointerCapture() |
{{CompatNo}} | {{CompatNo}} | 10.0 {{property_prefix("MS")}} | {{CompatNo}} | {{CompatNo}} |
matches() {{experimental_inline}} |
{{CompatVersionUnknown}} com o nome não padrão webkitMatchesSelector |
{{CompatGeckoDesktop("1.9.2")}} com o nome não padrão mozMatchesSelector{{CompatGeckoDesktop("34")}} com o nome padrão |
9.0 com o nome não padrão msMatchesSelector |
11.5 com o nome não padrão oMatchesSelector15.0 com o nome não padrão webkitMatchesSelector |
5.0 com o nome não padrão webkitMatchesSelector |
find() e findAll() |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
requestPointerLock() |
16.0 {{property_prefix("webkit")}}, atrás de um about:flags 22.0 {{property_prefix("webkit")}} (com casos especiais, levantados progressivamente, veja [2]) |
{{CompatGeckoDesktop("14")}}{{property_prefix("moz")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
requestFullscreen() |
14.0 {{property_prefix("webkit")}} | {{CompatGeckoDesktop("10")}} {{property_prefix("moz")}} | 11.0 {{property_prefix("ms")}} | 12.10 15.0 {{property_prefix("webkit")}} |
5.1 {{property_prefix("webkit")}} |
undoManager e undoScope |
{{CompatNo}} | {{CompatVersionUnknown}} (atrás do pref dom.undo_manager.enabled) |
{{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
attributes |
{{CompatUnknown}} | {{CompatGeckoDesktop("22")}} Antes era disponível via interface {{domxref("Node")}} que qualquer element herda. |
{{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
scrollTopMax() e scrollLeftMax() |
{{CompatNo}} | {{CompatGeckoDesktop("16")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
closest() |
{{CompatUnknown}} | {{CompatGeckoDesktop("35")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
hasAttributes() |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.0")}} (na interface {{domxref("Node")}}) {{CompatGeckoDesktop("35")}} (nesta interface) |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
| Característica | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Suporte básico | 1.0 | {{CompatGeckoMobile("1")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 1.0 |
scrollTopMax() and scrollLeftMax() |
{{CompatNo}} | {{CompatGeckoMobile("16")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
closest() |
{{CompatUnknown}} | {{CompatGeckoMobile("35")}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
hasAttributes() |
{{CompatVersionUnknown}} | {{CompatGeckoMobile("1.0")}} (na interface {{domxref("Node")}}) {{CompatGeckoMobile("35")}} (nesta interface) |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
[1] Internet Explorer 7 e 8 incorretamente retorna os comentários como parte do filho de um Element. Isto está fixado no Internet Explorer 9 e posterior.
[2] Chrome 16 permitiu webkitRequestPointerLock() somente em tela cheia; Chrome 21 para website confiável(com permissão do usuário); Chrome 22 permitiu por padrão para todos documentos de mesma origem; Chrome 23 permitiu em testes em ambientes locais {{HTMLElement("iframe")}} se o valor não padrão webkit-allow-pointer-lock é definido para o atributo {{htmlattrxref("sandbox", "iframe")}}.