# The Dom\Element class

(PHP 8 >= 8.4.0)

## Introduction

Represents an element.

This is the modern, spec-compliant equivalent of DOMElement.

## Class synopsis

class Dom\Element extends Dom\Node implements Dom\ParentNode, Dom\ChildNode {
/* Inherited constants */
public const int Dom\Node::DOCUMENT_POSITION_DISCONNECTED = 0x1;
public const int Dom\Node::DOCUMENT_POSITION_PRECEDING = 0x2;
public const int Dom\Node::DOCUMENT_POSITION_FOLLOWING = 0x4;
public const int Dom\Node::DOCUMENT_POSITION_CONTAINS = 0x8;
public const int Dom\Node::DOCUMENT_POSITION_CONTAINED_BY = 0x10;
public const int Dom\Node::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
/* Properties */
public readonly ?string $namespaceURI;
public readonly ?string $prefix;
public readonly string $localName;
public readonly string $tagName;
public string $id;
public string $className;
public readonly Dom\TokenList $classList;
public readonly Dom\NamedNodeMap $attributes;
public readonly ?Dom\Element $firstElementChild;
public readonly ?Dom\Element $lastElementChild;
public readonly int $childElementCount;
public readonly ?Dom\Element $previousElementSibling;
public readonly ?Dom\Element $nextElementSibling;
public string $innerHTML;
public string $substitutedNodeValue;
/* Inherited properties */
public readonly int $nodeType;
public readonly string $nodeName;
public readonly string $baseURI;
public readonly bool $isConnected;
public readonly ?Dom\Document $ownerDocument;
public readonly ?Dom\Node $parentNode;
public readonly ?Dom\Element $parentElement;
public readonly Dom\NodeList $childNodes;
public readonly ?Dom\Node $firstChild;
public readonly ?Dom\Node $lastChild;
public readonly ?Dom\Node $previousSibling;
public readonly ?Dom\Node $nextSibling;
public ?string $nodeValue;
public ?string $textContent;
/* Methods */
/* Not documented yet */
/* Inherited methods */
/* Not documented yet */
}

## Properties

namespaceURI
  The namespace URI of the element.
prefix
  The namespace prefix of the element.
localName
  The local name of the element.
tagName
  The HTML-uppercased qualified name of the element.
className

  A string representing the classes of the element separated by spaces.

classList
  Returns an instance of Dom\TokenList to easily manage the classes on this element.
attributes
  Returns an instance of Dom\NamedNodeMap that represents the attributes of this element.
id

  Reflects the element ID through the `"id"` attribute.

firstElementChild

  First child element or `null`.

lastElementChild

  Last child element or `null`.

childElementCount

  The number of child elements.

previousElementSibling

  The previous sibling element or `null`.

nextElementSibling

  The next sibling element or `null`.

innerHTML
  The inner HTML (or XML for XML documents) of the element.
substitutedNodeValue
  The node value with entity substitution enabled.

## Notes

> Note: The DOM extension uses UTF-8 encoding when working with methods or properties. The parser methods auto-detect the encoding or allow the caller to specify an encoding.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open