представляет результат разбора строки со списком лексем, разделенных пробелами как, например, свойство
className
объекта
Element
. Объект
DOMTokenList
, как следует из его имени, является списком, точнее объектом, подобным массиву, со свойством
length
, который можно индексировать для получения доступа к отдельным лексемам. Но более важно, что он определяет методы
contains, add, remove
и
toggle,
позволяющие работать с ним как со множеством лексем. Если использовать объект
DOMTokenList
в строковом контексте, он будет интерпретироваться как строка со списком лексем, разделенных пробелами.
Свойство
classList
объектов Element, определяемое спецификацией HTML5, является объектом
DOMTokenList
в броузерах, поддерживающих это свойство. И это единственный объект
DOMTokenList
, который вам наверняка придется часто использовать на практике. См. также DOMSettableTokenList.
Свойства
readonly unsigned long length
DOMTokenList
– это объект, подобный массиву; данное свойство определяет количество уникальных лексем, содержащихся в нем.
Методы
void add(string token)
Если
DOMTokenList
еще не содержит лексему token, она будет добавлена в конец списка.
boolean contains(string token)
Возвращает true, если объект
DOMTokenList
содержит лексему token, или false -в противном случае.
string item(unsigned long index)
Возвращает лексему по указанному индексу или null, если индекс index выходит за границы массива. Объект
DOMTokenList
можно также индексировать непосредственно, не прибегая к этому методу,
void remove(string token)
Если
DOMTokenList
содержит лексему token, этот метод удалит ее. Иначе он ничего делать не будет,
boolean toggle(string token)
Если
DOMTokenList
содержит лексему token, этот метод удалит ее. Иначе - добавит.
Element
элемент документа (Node, (EventTarget))
Объект
Element
представляет элементы HTML- или XML-документа. Свойство
tagName
определяет имя тега или тип элемента. Стандартные HTML-атрибуты элемента доступны в виде JavaScript-свойств объекта
Element
. Доступ к атрибутам, включая XML-атри-буты и нестандартные HTML-атрибуты, можно также получить с помощью методов
getAttribute
и
setAttribute.
Содержимое элемента
Element
доступно через свойства, унаследованные от объекта
Node
. Если требуется выполнить операции с элементами, связанными отношениями с данным элементом, можно воспользоваться свойствами
children
,
firstElementChild, nextElementSibling
и другими похожими свойствами.
Существует несколько способов получения объектов
Element
из документов. Свойство
documentElement
объекта
Document
содержит ссылку на корневой элемент этого документа, такой как элемент
<html>
HTML-документа. В HTML-документах имеются похожие
на него свойства
head
и
body
– они ссылаются на элементы
<head>
и
<body>
документа. Чтобы отыскать элемент документа по уникальному значению атрибута
id
, можно воспользоваться методом
Document.getElementById
. Как описывается в разделе 15.2, объекты
Element
можно также получить с помощью методов
getElementsByTagName, getElementsByClassName
и
querySelectorAll
. Наконец, с помощью метода
DocumentсгеateElement
можно создавать новые объекты
Element
для вставки в документ. Веб-броузеры возбуждают в элементах документа множество различных видов событий, и объекты
Element
определяют множество свойств обработчиков событий. Кроме того, объекты
Element
определяют методы интерфейса
EventTarget
(подробнее о нем в справочной статье
EventTarget
), позволяющие добавлять и удалять обработчики событий.
Справочная статья HTMLElement, имевшаяся в предыдущем издании этой книги, теперь объединена с этой справочной статьей. Обратите внимание, что некоторые свойства, методы и обработчики, описываемые здесь, могут использоваться только при работе с HTML-документами и не могут применяться к XML-документам.
Свойства
Помимо свойств, перечисленных ниже, HTML-атрибуты HTML-элементов доступны в виде свойств объектов
Element
. HTML-теги и их стандартные атрибуты перечислены в конце этой справочной статьи.
readonly Attг[] attributes
Объект, подобный массиву, содержащий объекты
Attr
, представляющие HTML-или XML-атрибуты данного элемента. Однако в общем случае объекты
Element
обеспечивают доступ к атрибутам, как к JavaScript-свойствам, поэтому почти никогда не возникает необходимости использовать массив
attributes[].
readonly unsigned long childElementCount
Количество дочерних элементов (не дочерних узлов), которые имеет данный элемент.
readonly HTMLCollection children
Объект, подобный массиву, содержащий дочерние элементы (исключая дочерние узлы, не являющиеся элементами
Element
, такие как
Text
и
Comment
).
readonly DOMTokenList classList
Значение атрибута
class
элемента представляет собой список имен классов, разделенных пробелами. Данное свойство позволяет получить доступ к отдельным элементам этого списка и определяет методы чтения, добавления, удаления и переключения отдельных имен классов. Подробности смотрите в справочной статье DOMTokenList.
string className
Это свойство представляет атрибут
class
элемента. В языке JavaScript
class
является зарезервированным словом, поэтому свойство получило имя
className
, а не
class
. Обратите внимание, что такое имя этого свойства [62] может вводить в заблуждение, поскольку атрибут
class
часто включает более одного имени класса.
62
Имя свойства указывается в форме единственного числа. – Прим, перев.