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><html></b>
HTML-документа. В HTML-документах имеются похожие на него свойства
<b>head</b>
и
<b>body</b>
- они ссылаются на элементы
<b><head></b>
и
<b><body></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>
), позволяющие добавлять и удалять обработчики событий.