Шрифт:
DOMSettableTokenList
список лексем с настраиваемым строковым значением DOMTokenList
Объект
DOMSettableTokenList
является подтипом DOMTokenList
, имеющим дополнительное свойство value
, которому можно присвоить сразу полный список лексем. Свойство
classList
объекта Element
является ссылкой на объект DOMTokenList
, который представляет множество лексем в свойстве className
в виде строки. Если потребуется присвоить свойству classList
сразу все лексемы, можно просто присвоить новую строку свойству className
. Свойство sandbox
элемента IFrame
несколько отличается. Это свойство и HTML-атрибут, на который оно опирается, было определено в спецификации HTML5, и потому не было никакой необходимости использовать смесь из старого строкового представления и объекта DOMTokenList
. Это свойство просто определено как объект DOMSettableTokenList
, что позволяет читать его и присваивать ему значение, как если бы это была простая строка, или использовать методы и интерпретировать его как множество лексем. Свойство htmlFor
объекта Output
и свойство audio
объекта Video
также являются объектами DOMSettableTokenList
. Свойства
string value
Представление множества лексем в виде строки, в которой лексемы разделены пробелами. Это свойство позволяет обрабатывать множество как единственную строку. Однако обычно не возникает необходимости использовать это свойство явно: при использовании объекта
DOMSettableTokenList
в контексте, где требуется строка, возвращается именно это строковое значение. A если выполнить присваивание строки объекту DOMSettableTokenList
, строка неявно будет записана в это свойство. DOMTokenList
множество лексем, разделенных пробелами
Объект
DOMTokenList
представляет результат разбора строки со списком лексем, разделенных пробелами как, например, свойство 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
), позволяющие добавлять и удалять обработчики событий.