JavaScript интерфейс Element
Описание интерфейса
Интерфейс Element описывает методы и свойства, которые являются общими для всех видов элементов,
представляет собой один из объектов в
Document.
Таблицы содержат собственные члены Element из DOM Standard, подключённые миксины и перечисленные
расширения HTML, CSSOM и других API. Это возможности экземпляра элемента. Node и
EventTarget — базовые интерфейсы; специфичные члены HTMLElement и
SVGElement рассматриваются отдельно.
Более конкретные классы наследуются от интерфейса Element, задавая дополнительные функциональные
возможности ниже по иерархии классов. Например, интерфейс HTMLElement является основным интерфейсом для
HTML элементов, в то время как интерфейс SVGElement является основой для всех элементов SVG.
Полный перечень свойств и методов объекта 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()
|
Позволяет добавить элементу атрибут, если его нет, или удалить его, если он присутствует у данного элемента. |
Свойства интерфейса
| Свойство | Описание |
|---|---|
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
|
Является свойством только для чтения, которое возвращает имя тега элемента, на котором он вызывается. |
Дополнительные методы
| Имя | Назначение и ограничения |
|---|---|
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. Ограниченная
поддержка.
|
Дополнительные свойства и константы
| Имя | Назначение и ограничения |
|---|---|
assignedSlot |
Элемент HTMLSlotElement, которому назначен элемент, или null; миксин
Slottable, только чтение.
|
customElementRegistry |
CustomElementRegistry элемента или null; только чтение, ограниченная поддержка.
|
part |
Живой DOMTokenList имён из атрибута part, используемых селектором
::part().
|
role |
Строка отражения атрибута role или null; роль доступности, допускает запись. |
На прототипе интерфейса определено символьное свойство Symbol.toStringTag со строковым именем интерфейса;
оно используется при строковом представлении через Object.prototype.toString.
Методы миксинов с пометкой Unscopable представлены в Symbol.unscopables прототипа
реализующего интерфейса: они исключаются из поиска имён в устаревшей конструкции with. Это служебный
объект, не коллекция дочерних узлов.