--- title: Element slug: Web/API/Element tags: - API - DOM - DOM Reference - Element - Interface - NeedsTranslation - Reference - TopicStub - Web API translation_of: Web/API/Element ---
Element
is the most general base class from which all objects in a {{DOMxRef("Document")}} inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element
. For example, the {{DOMxRef("HTMLElement")}} interface is the base interface for HTML elements, while the {{DOMxRef("SVGElement")}} interface is the basis for all SVG elements. Most functionality is specified further down the class hierarchy.
Languages outside the realm of the Web platform, like XUL through the XULElement
interface, also implement Element
.
{{InheritanceDiagram}}
Inherits properties from its parent interface, {{DOMxRef("Node")}}, and by extension that interface's parent, {{DOMxRef("EventTarget")}}. It implements the properties of {{DOMxRef("ParentNode")}}, {{DOMxRef("ChildNode")}}, {{DOMxRef("NonDocumentTypeChildNode")}}, and {{DOMxRef("Animatable")}}.
null
if it is no namespace.
Note: In Firefox 3.5 and earlier, HTML elements are in no namespace. In later versions, HTML elements are in the http://www.w3.org/1999/xhtml
namespace in both HTML and XML trees. {{ gecko_minversion_inline("1.9.2")}}
null
if there's no sibling node.null
if no prefix is specified.null
if there is no sibling element.Note: DOM Level 3 defined namespaceURI
, localName
and prefix
on the {{DOMxRef("Node")}} interface. In DOM4 they were moved to Element
.
This change is implemented in Chrome since version 46.0 and Firefox since version 48.0.
The Element
interface includes the following property, defined on the {{DOMxRef("Slotable")}} mixin.
Inherits methods from its parents {{DOMxRef("Node")}}, and its own parent, {{DOMxRef("EventTarget")}}, and implements those of {{DOMxRef("ParentNode")}}, {{DOMxRef("ChildNode")}}, {{DOMxRef("NonDocumentTypeChildNode")}}, and {{DOMxRef("Animatable")}}.
Specification | Status | Comment |
---|---|---|
{{SpecName("Web Animations", '', '')}} | {{Spec2("Web Animations")}} | Added the getAnimations() method. |
{{SpecName('Undo Manager', '', 'Element')}} | {{Spec2('Undo Manager')}} | Added the undoScope and undoManager properties. |
{{SpecName('Pointer Events 2', '#extensions-to-the-element-interface', 'Element')}} | {{Spec2('Pointer Events 2')}} | Added the following event handlers: ongotpointercapture and onlostpointercapture .Added the following methods: setPointerCapture() and releasePointerCapture() . |
{{SpecName('Pointer Events', '#extensions-to-the-element-interface', 'Element')}} | {{Spec2('Pointer Events')}} | Added the following event handlers: ongotpointercapture and onlostpointercapture .Added the following methods: setPointerCapture() and releasePointerCapture() . |
{{SpecName('Selectors API Level 1', '#interface-definitions', 'Element')}} | {{Spec2('Selectors API Level 1')}} | Added the following methods: querySelector() and querySelectorAll() . |
{{SpecName('Pointer Lock', 'index.html#element-interface', 'Element')}} | {{Spec2('Pointer Lock')}} | Added the requestPointerLock() method. |
{{SpecName('Fullscreen', '#api', 'Element')}} | {{Spec2('Fullscreen')}} | Added the requestFullscreen() method. |
{{SpecName('DOM Parsing', '#extensions-to-the-element-interface', 'Element')}} | {{Spec2('DOM Parsing')}} | Added the following properties: innerHTML , and outerHTML .Added the following method: insertAdjacentHTML() . |
{{SpecName('CSSOM View', '#extensions-to-the-element-interface', 'Element')}} | {{Spec2('CSSOM View')}} | Added the following properties: scrollTop , scrollLeft , scrollWidth , scrollHeight , clientTop , clientLeft , clientWidth , and clientHeight .Added the following methods: getClientRects() , getBoundingClientRect() , scroll() , scrollBy() , scrollTo() and scrollIntoView() . |
{{SpecName('Element Traversal', '#ecmascript-bindings', 'Element')}} | {{Spec2('Element Traversal')}} | Added inheritance of the {{DOMxRef("ElementTraversal")}} interface. |
{{SpecName('DOM WHATWG', '#interface-element', 'Element')}} | {{Spec2('DOM WHATWG')}} | Added the following methods: closest() , insertAdjacentElement() and insertAdjacentText() .Moved hasAttributes() from the Node interface to this one. |
{{SpecName("DOM4", "#interface-element", "Element")}} | {{Spec2("DOM4")}} | Removed the following methods: setIdAttribute() , setIdAttributeNS() , and setIdAttributeNode() .Modified the return value of getElementsByTagName() and getElementsByTagNameNS() .Removed the schemaTypeInfo property. |
{{SpecName('DOM3 Core', 'core.html#ID-745549614', 'Element')}} | {{Spec2('DOM3 Core')}} | Added the following methods: setIdAttribute() , setIdAttributeNS() , and setIdAttributeNode() . These methods were never implemented and have been removed in later specifications.Added the schemaTypeInfo property. This property was never implemented and has been removed in later specifications. |
{{SpecName('DOM2 Core', 'core.html#ID-745549614', 'Element')}} | {{Spec2('DOM2 Core')}} | The normalize() method has been moved to {{DOMxRef("Node")}}. |
{{SpecName('DOM1', 'level-one-core.html#ID-745549614', 'Element')}} | {{Spec2('DOM1')}} | Initial definition. |
{{Compat("api.Element")}}