Чтение онлайн

ЖАНРЫ

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

unsigned
short INVALID_STATE_ERR = 11

unsigned
short SYNTAX_ERR = 12

DOMImplementation

глобальные методы DOM

Объект

DOMImplementation
определяет методы, не относящиеся к какому-либо конкретному объекту
Document
, а являющиеся «глобальными» для реализации
DOM
. Ссылку на объект
DOMImplementation
можно получить через свойство
implementation
любого объекта
Document
.

Методы

Document createDocument(string namespace, string qualifiedName, DocumentType doctype)

Создает

и возвращает новый объект
Document
XML-документа. Если указан аргумент qualifiedName, создается корневой элемент с этим именем и добавляется в документ как значение его свойства
documentElement
. Если qualifiedName включает префикс пространства имен и двоеточие, пространство имен должно быть представлено идентификатором URI, уникально идентифицирующим его. Если аргумент doctype содержит значение, отличное от null, свойству
ownerDocument
этого объекта
DocumentType
присваивается вновь созданный документ, а узел
DocumentType
добавляется в новый документ.

DocumentType createDocumentType(string qualifiedName, publicld, systemld)

Создает новый узел

DocumentType
, представляющий объявление
<!D0CTYPE>,
который можно передать методу
createDocument.

Document createHTMLDocument(string title)

Создает новый объект

HTMLDocument
с готовым деревом документа, включающий указанный заголовок. Значением свойства
documentElement
возвращаемого объекта является элемент
<html>,
и этот корневой элемент содержит вложенные теги
<head>
и
<body>.
Элемент
<head>
в свою очередь включает вложенный элемент
<title>
с дочерним текстовым узлом, содержащим строку
title
.

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
), позволяющие добавлять и удалять обработчики событий.

Поделиться с друзьями: