JavaScript. Подробное руководство, 6-е издание, стр. 478

DOMSettableTokenList

список лексем с настраиваемым строковым значением DOMTokenList

Объект

<b>DOMSettableTokenList</b>
является подтипом
<b>DOMTokenList</b>
, имеющим дополнительное свойство
<b>value</b>
, которому можно присвоить сразу полный список лексем.

Свойство

<b>classList</b>
объекта
<b>Element</b>
является ссылкой на объект
<b>DOMTokenList</b>
, который представляет множество лексем в свойстве
<b>className</b>
в виде строки. Если потребуется присвоить свойству
<b>classList</b>
сразу все лексемы, можно просто присвоить новую строку свойству
<b>className</b>
. Свойство
<b>sandbox</b>
элемента
<b>IFrame</b>
несколько отличается. Это свойство и HTML-атрибут, на который оно опирается, было определено в спецификации HTML5, и потому не было никакой необходимости использовать смесь из старого строкового представления и объекта
<b>DOMTokenList</b>
. Это свойство просто определено как объект
<b>DOMSettableTokenList</b>
, что позволяет читать его и присваивать ему значение, как если бы это была простая строка, или использовать методы и интерпретировать его как множество лексем. Свойство
<b>htmlFor</b>
объекта
<b>Output</b>
и свойство
<b>audio</b>
объекта
<b>Video</b>
также являются объектами
<b>DOMSettableTokenList</b>
.

Свойства

<b>string value</b>

Представление множества лексем в виде строки, в которой лексемы разделены пробелами. Это свойство позволяет обрабатывать множество как единственную строку. Однако обычно не возникает необходимости использовать это свойство явно: при использовании объекта

<b>DOMSettableTokenList</b>
в контексте, где требуется строка, возвращается именно это строковое значение. A если выполнить присваивание строки объекту
<b>DOMSettableTokenList</b>
, строка неявно будет записана в это свойство.

DOMTokenList

множество лексем, разделенных пробелами

Объект

<b>DOMTokenList</b>
представляет результат разбора строки со списком лексем, разделенных пробелами как, например, свойство
<b>className</b>
объекта
<b>Element</b>
. Объект
<b>DOMTokenList</b>
, как следует из его имени, является списком, точнее объектом, подобным массиву, со свойством
<b>length</b>
, который можно индексировать для получения доступа к отдельным лексемам. Но более важно, что он определяет методы
<b>contains(), add(), remove()</b>
и
<b>toggle(),</b>
позволяющие работать с ним как со множеством лексем. Если использовать объект
<b>DOMTokenList</b>
в строковом контексте, он будет интерпретироваться как строка со списком лексем, разделенных пробелами.

Свойство

<b>classList</b>
объектов Element, определяемое спецификацией HTML5, является объектом
<b>DOMTokenList</b>
в броузерах, поддерживающих это свойство. И это единственный объект
<b>DOMTokenList</b>
, который вам наверняка придется часто использовать на практике. См. также DOMSettableTokenList.

Свойства

<b>readonly unsigned long length</b>

<b>DOMTokenList</b>
- это объект, подобный массиву; данное свойство определяет количество уникальных лексем, содержащихся в нем.

Методы

<b>void add(string token)</b>

Если

<b>DOMTokenList</b>
еще не содержит лексему token, она будет добавлена в конец списка.

<b>boolean contains(string token)</b>

Возвращает true, если объект

<b>DOMTokenList</b>
содержит лексему token, или false -в противном случае.

<b>string item(unsigned long index)</b>

Возвращает лексему по указанному индексу или null, если индекс index выходит за границы массива. Объект

<b>DOMTokenList</b>
можно также индексировать непосредственно, не прибегая к этому методу,

<b>void remove(string token)</b>

Если

<b>DOMTokenList</b>
содержит лексему token, этот метод удалит ее. Иначе он ничего делать не будет,

<b>boolean toggle(string token)</b>

Если

<b>DOMTokenList</b>
содержит лексему token, этот метод удалит ее. Иначе - добавит.

Element

элемент документа (Node, (EventTarget))

Объект

<b>Element</b>
представляет элементы HTML- или XML-документа. Свойство
<b>tagName</b>
определяет имя тега или тип элемента. Стандартные HTML-атрибуты элемента доступны в виде JavaScript-свойств объекта
<b>Element</b>
. Доступ к атрибутам, включая XML-атри-буты и нестандартные HTML-атрибуты, можно также получить с помощью методов
<b>getAttribute()</b>
и
<b>setAttribute().</b>
Содержимое элемента
<b>Element</b>
доступно через свойства, унаследованные от объекта
<b>Node</b>
. Если требуется выполнить операции с элементами, связанными отношениями с данным элементом, можно воспользоваться свойствами
<b>children</b>
,
<b>firstElementChild, nextElementSibling</b>
и другими похожими свойствами.

Существует несколько способов получения объектов

<b>Element</b>
из документов. Свойство
<b>documentElement</b>
объекта
<b>Document</b>
содержит ссылку на корневой элемент этого документа, такой как элемент
<b>&lt;html&gt;</b>
HTML-документа. В HTML-документах имеются похожие на него свойства
<b>head</b>
и
<b>body</b>
- они ссылаются на элементы
<b>&lt;head&gt;</b>
и
<b>&lt;body&gt;</b>
документа. Чтобы отыскать элемент документа по уникальному значению атрибута
<b>id</b>
, можно воспользоваться методом
<b>Document.getElementById()</b>
. Как описывается в разделе 15.2, объекты
<b>Element</b>
можно также получить с помощью методов
<b>getElementsByTagName(),  getElementsByClassName()</b>
  и
<b>querySelectorAll()</b>
. Наконец, с помощью метода
<b>DocumentсгеateElement()</b>
можно создавать новые объекты
<b>Element</b>
для вставки в документ. Веб-броузеры возбуждают в элементах документа множество различных видов событий, и объекты
<b>Element</b>
определяют множество свойств обработчиков событий. Кроме того, объекты
<b>Element</b>
определяют методы интерфейса
<b>EventTarget</b>
(подробнее о нем в справочной статье
<b>EventTarget</b>
), позволяющие добавлять и удалять обработчики событий.