JavaScript интерфейс Element

Описание интерфейса

Интерфейс Element описывает методы и свойства, которые являются общими для всех видов элементов, представляет собой один из объектов в Document.

Таблицы содержат собственные члены Element из DOM Standard, подключённые миксины и перечисленные расширения HTML, CSSOM и других API. Это возможности экземпляра элемента. Node и EventTarget — базовые интерфейсы; специфичные члены HTMLElement и SVGElement рассматриваются отдельно.

Более конкретные классы наследуются от интерфейса Element, задавая дополнительные функциональные возможности ниже по иерархии классов. Например, интерфейс HTMLElement является основным интерфейсом для HTML элементов, в то время как интерфейс SVGElement является основой для всех элементов SVG.

Полный перечень свойств и методов объекта Element представлен ниже:

Методы интерфейса

Методы экземпляра Element
Метод Описание
EventTarget.addEventListener() Позволяет зарегистрировать обработчик событий определенного типа для конкретной цели.
attachShadow() Метод присоединяет теневое дерево DOM к указанному элементу и возвращает ссылку на его теневой корень (shadow root).
EventTarget.dispatchEvent() Позволяет отправить искусственно созданное событие элементу.
getAttribute() Возвращает значение указанного атрибута элемента.
getAttributeNames() Позволяет возвратить имена всех атрибутов элемента в виде массива строк.
getAttributeNS() Возвращает строковое значение атрибута с указанным пространством имен и именем.
getBoundingClientRect() Возвращает объект DOMRect, который содержит размеры элемента и его положение относительно видимой области просмотра.
getClientRects() Возвращает массивоподобный объект, который содержит коллекцию объектов DOMRect, которые необходимы для определения координат относительно видимой области просмотра и размеров отдельных прямоугольников, занимаемых строчными элементами.
getElementsByClassName() Возвращает живую коллекцию HTMLCollection, которая содержит каждый элемент, который имеет указанное имя, или имена класса, поиск элементов при этом ведется внутри указанного элемента.
getElementsByTagName() Возвращает живую коллекцию HTMLCollection элементов с заданным именем тега, поиск элементов при этом ведется внутри указанного элемента.
getElementsByTagNameNS() Возвращает живую коллекцию HTMLCollection элементов с заданным именем тега, принадлежащих заданному пространству имен, поиск элементов при этом ведется внутри указанного элемента.
hasAttribute() Возвращает логическое значение, указывающее на то, имеет ли указанный элемент заданный атрибут или нет.
hasAttributeNS() Возвращает логическое значение, указывающее, имеет ли элемент указанный атрибут в указанном пространстве имен или нет.
hasAttributes() Возвращает логическое значение, указывающее на то, имеет ли элемент один или несколько любых атрибутов HTML.
hasPointerCapture() Указывает, имеет ли элемент, на котором он вызывается, захват указателя.
insertAdjacentElement() Позволяет вставить указанный узел элемента в заданную позицию относительно элемента, на котором он вызывается.
insertAdjacentHTML() Производит анализ указанного текста как HTML или XML, и вставляет полученные узлы в дерево DOM в указанной позиции.
insertAdjacentText() Позволяет вставить указанный текстовый узел в заданную позицию относительно элемента на котором он вызывается.
querySelector() Возвращает первый элемент, соответствующий указанной группе селекторов, который является потомком элемента на котором был вызван метод.
querySelectorAll() Возвращает статический (не живой) объект NodeList, представляющий список элементов, соответствующих указанной группе селекторов, которые являются потомками элемента на котором был вызван метод.
releasePointerCapture() Освобождает (останавливает) захват указателя, который ранее был установлен для определенного события указателя.
removeAttribute() Позволяет удалить из элемента атрибут с указанным именем.
removeAttributeNS() Удаляет из элемента атрибут с указанным именем и пространством имен.
EventTarget.removeEventListener() Позволяет удалить обработчик событий определенного типа для конкретного элемента.
scroll() Прокручивает содержимое элемента к заданным координатам.
scrollBy() Позволяет прокрутить элемент на заданные величины.
scrollTo() Прокручивает содержимое элемента к заданным координатам; аналог метода scroll().
setAttribute() Позволяет добавить новый атрибут, или значение атрибута с указанным именем текущему элементу.
setAttributeNS() Позволяет добавить новый атрибут или значение атрибута с заданным пространством имен и именем текущего элемента.
setPointerCapture() Используется для назначения определенного элемента в качестве цели захвата будущих событий указателя.
toggleAttribute() Позволяет добавить элементу атрибут, если его нет, или удалить его, если он присутствует у данного элемента.

Свойства интерфейса

Свойства экземпляра Element
Свойство Описание
attributes Возвращает динамическую коллекцию всех узлов атрибута (объект NamedNodeMap), зарегистрированных на указанном узле.
ParentNode.childElementCount Возвращает количество дочерних элементов конкретного узла.
ParentNode.children Возвращает живую коллекцию (HTMLCollection), которая содержит все дочерние элементы узла, на котором он был вызван.
classList Является свойством только для чтения, которое возвращает живую коллекцию DOMTokenList, содержащую значение глобального атрибута class (классы элемента).
className Задает значение атрибута class, или возвращает строковое значение этого атрибута, содержащее класс, или классы текущего элемента, разделенные пробелами.
clientHeight Внутренняя высота в CSS-пикселях, включая padding, без границ, margin и горизонтальной полосы прокрутки. Возвращает целое число. Для элемента без CSS-бокса или со строчным боксом — 0; отсутствие авторских стилей само по себе не означает нулевой размер. Для корня документа действуют специальные правила области просмотра.
clientLeft Свойство, доступное только для чтения возвращает число, которое соответствует ширине левой границы элемента в пикселях. Оно включает ширину вертикальной полосы прокрутки, если направление текста элемента справа налево и если есть переполнение, вызывающее левую вертикальную полосу прокрутки для визуализации.
clientTop Свойство, доступное только для чтения возвращает число, которое соответствует ширине верхней границы элемента в пикселях.
clientWidth Внутренняя ширина в CSS-пикселях, включая padding, без границ, margin и вертикальной полосы прокрутки. Возвращает целое число. Для элемента без CSS-бокса или со строчным боксом — 0; для корня документа действуют специальные правила области просмотра.
ParentNode.firstElementChild Возвращает первый дочерний элемент (объект Element) конкретного узла, или null, если дочерних элементов нет.
id Возвращает или задаёт строку атрибута id. При отсутствии атрибута — пустая строка.
innerHTML Позволяет установить или возвратить содержимое элемента.
ParentNode.lastElementChild Возвращает последний дочерний элемент (объект Element) конкретного узла, или null, если дочерних элементов нет.
localName Является свойством только для чтения, которое возвращает локальную часть имени элемента.
namespaceURI Является свойством только для чтения, которое возвращает URI пространства имен элемента, или null, если элемент не находится в пространстве имен.
NonDocumentTypeChildNode.nextElementSibling Является свойством только для чтения, которое возвращает элемент (объект Element), следующий сразу за указанным в списке дочерних элементов родительского элемента, или null, если указанный элемент является последним в списке.
outerHTML Возвращает сериализованный HTML фрагмент, описывающий элемент, включая его потомков. При записи заменяет элемент узлами, полученными разбором переданной строки.
prefix Является свойством только для чтения, которое возвращает префикс пространства имен указанного элемента или null, если префикс не указан.
NonDocumentTypeChildNode.previousElementSibling Является свойством только для чтения, которое возвращает элемент (объект Element), находящийся непосредственно перед указанным в родительском списке дочерних элементом, или null, если указанный элемент является первым в списке.
scrollHeight Является свойством только для чтения, которое соответствует измерению высоты содержимого элемента, включая содержимое, не видимое на экране из-за переполнения.
scrollLeft Возвращает или задает количество пикселей, на которое прокручивается содержимое элемента от его левого края.
scrollTop Возвращает или задает количество пикселей, в которых содержимое элемента прокручивается по вертикали.
scrollWidth Является свойством только для чтения, которое соответствует измерению ширины содержимого элемента, включая содержимое, не видимое на экране из-за переполнения.
shadowRoot Открытый ShadowRoot элемента или null, в том числе при закрытом теневом корне; только чтение.
slot Возвращает или задаёт строку атрибута slot: имя слота для распределения элемента в теневом дереве.
tagName Является свойством только для чтения, которое возвращает имя тега элемента, на котором он вызывается.

Дополнительные методы

Дополнительные методы element
Имя Назначение и ограничения
closest() Возвращает ближайший соответствующий селектору элемент среди самого элемента и его предков либо null; неверный селектор вызывает SyntaxError.
matches() Возвращает логическое значение: соответствует ли сам элемент селектору. Неверный селектор вызывает SyntaxError.
webkitMatchesSelector() Устаревший префиксный псевдоним matches(); возвращает логическое значение. Для нового кода используйте matches().
getAttributeNode(), getAttributeNodeNS() Возвращают узел атрибута (Attr) по имени либо пространству имён и локальному имени; при отсутствии — null.
setAttributeNode(), setAttributeNodeNS() Устанавливают узел Attr и возвращают заменённый Attr или null. Атрибут, принадлежащий другому элементу, вызывает InUseAttributeError.
removeAttributeNode() Удаляет переданный узел Attr и возвращает его; если он не принадлежит элементу, возникает NotFoundError.
append(), prepend(), replaceChildren(), moveBefore() Методы ParentNode: вставка, замена и перемещение дочерних узлов. Возвращают undefined; moveBefore() сохраняет состояние перемещаемого узла и имеет ограниченную поддержку.
before(), after(), replaceWith(), remove() Методы ChildNode: вставляют соседние узлы, заменяют или удаляют сам элемент. Строки превращаются в текст; результат — undefined.
scrollIntoView() Прокручивает контейнеры, чтобы показать элемент; положение задаётся опциями. Возвращает undefined.
checkVisibility() Возвращает логическое значение с учётом наличия CSS-бокса и выбранных проверок видимости, прозрачности и content-visibility.
animate() Создаёт и запускает анимацию по ключевым кадрам; возвращает объект Animation.
getAnimations() Возвращает массив объектов Animation элемента; опция subtree включает потомков.
requestFullscreen() Запрашивает полноэкранное отображение элемента; возвращает Promise, требует разрешения и пользовательской активации.
requestPointerLock() Запрашивает захват указателя; успех и отказ сообщаются событиями документа. Вариант с Promise поддерживается не везде.
getHTML() Возвращает HTML-строку с возможностью включить выбранные теневые корни через опции.
setHTMLUnsafe() Разбирает HTML и заменяет содержимое, включая декларативные теневые корни. Возвращает undefined; без очистки опасен для недоверенных данных.
setHTML() Заменяет содержимое HTML после очистки опасных конструкций; возвращает undefined. Ограниченная поддержка.

Дополнительные свойства и константы

Дополнительные свойства и константы element
Имя Назначение и ограничения
assignedSlot Элемент HTMLSlotElement, которому назначен элемент, или null; миксин Slottable, только чтение.
customElementRegistry CustomElementRegistry элемента или null; только чтение, ограниченная поддержка.
part Живой DOMTokenList имён из атрибута part, используемых селектором ::part().
role Строка отражения атрибута role или null; роль доступности, допускает запись.

На прототипе интерфейса определено символьное свойство Symbol.toStringTag со строковым именем интерфейса; оно используется при строковом представлении через Object.prototype.toString.

Методы миксинов с пометкой Unscopable представлены в Symbol.unscopables прототипа реализующего интерфейса: они исключаются из поиска имён в устаревшей конструкции with. Это служебный объект, не коллекция дочерних узлов.

Спецификация

DOM Standard.