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

ЖАНРЫ

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

NodeList getElementsByClassName(string classNames)

Возвращает объект, подобный массиву, содержащий вложенные элементы, в которых значение атрибута

class
включает все имена классов
classNames
. Аргумент
classNames
может содержать имя одного класса или список нескольких имен классов, разделенных пробелами. Возвращаемый объект
NodeList
является «живым» и автоматически обновляется при изменении документа. Элементы в возвращаемом объекте
NodeList
располагаются в том же порядке, в каком они присутствуют в документе. Обратите внимание, что этот метод также определен
в объекте
Document
.

NodeList getElementsByTagName(string qualifiedName)

Выполняет обход всех вложенных элементов и возвращает «живой» объект

NodeList
узлов
Element
, представляющих все элементы документа с указанным именем тега. Элементы в возвращаемом объекте
NodeList
располагаются в том же порядке, в каком они присутствуют в исходном документе. Обратите внимание, что объект
Document
также имеет метод
getElementsByTagName,
действующий подобным образом, но выполняющий обход всего документа, а не только элементов, вложенных в данный элемент.

NodeList getElementsByTagNameNS(string namespace, string localName)

Этот метод действует подобно методу

getElementsByTagName,
за исключением того, что имя тега требуемых элементов указывается как комбинация URI пространства имен и локального имени в этом пространстве имен.

boolean hasAttribute(string qualifiedName)

Возвращает true, если этот элемент имеет атрибут с указанным именем, или false в противном случае. В HTML-документах имена атрибутов нечувствительны к регистру символов.

boolean hasAttributeNS(string namespace, string localName)

Этот метод действует так же, как метод

hasAttribute,
за исключением того, что атрибут задается комбинацией URI пространства имен и локального имени в этом пространстве имен.

void insertAdjacentHTML(string position, string text)

Вставляет разметку HTML text в позицию position относительно данного элемента. Аргумент position может иметь одно из следующих строковых значений:

Element querySelector(string selectors)

Возвращает первый вложенный элемент, соответствующий CSS-селекторам selectors (это может быть единственный CSS-селектор или группа селекторов, разделенных запятыми).

NodeList querySelectorAll(string selectors)

Возвращает объект, подобный массиву, содержащий все элементы, вложенные в данный элемент, которые соответствуют селекторам selectors (это может быть единственный CSS-селектор или группа селекторов, разделенных запятыми). В отличие от объекта

NodeList
, возвращаемого методом
getElementsByTagName,
объект
NodeList
, возвращаемый этим методом, является статическим: он содержит набор элементов, соответствовавших селекторам на момент вызова метода.

void removeAttribute(string qualifiedName)

Удаляет из элемента атрибут с указанным именем. Попытки удалить несуществующие атрибуты просто игнорируются. В HTML-документах имена атрибутов нечувствительны к регистру символов.

void removeAttributeNS(string namespace, string localName)

Метод

removeAttributeNS
действует так же, как метод
removeAttribute
, за исключением того, что удаляемый
атрибут задается URI пространства имен и локального имени.

void scrollIntoView([boolean top])

Если HTML-элемент в настоящий момент находится за пределами окна, этот метод прокрутит документ так, что элемент окажется в пределах окна. Аргумент top является необязательным и подсказывает методу, должен ли элемент оказаться ближе к верхнему или к нижнему краю окна. Если он равен true или отсутствует, броузер старается выполнить прокрутку так, чтобы элемент оказался ближе к верхнему краю окна. Если он равен false, броузер старается выполнить прокрутку так, чтобы элемент оказался ближе к нижнему краю окна. Для элементов, принимающих фокус ввода, таких как элементы

Input
, метод
focus
неявно выполняет точно такую же операцию прокрутки. См. также описание метода
scrollTo
объекта
Window
.

void setAttribute(string qualifiedName, string value)

Присваивает указанное значение атрибуту с указанным именем. Если атрибут с таким именем еще не существует, в элемент добавляется новый атрибут. В HTML-документах перед присваиванием значения символы в имени атрибута преобразуются в нижний регистр. Обратите внимание: в HTML-документе JavaScript-свойства, соответствующие всем стандартным HTML-атрибутам, определяются объектами

HTMLElement
. Поэтому данный метод обычно используется лишь для доступа к нестандартным атрибутам.

void setAttributeNS(string namespace, string qualifiedName, string value)

Этот метод действует так же, как метод

setAttribute,
за исключением того, что имя атрибута указывается как комбинация URI пространства имен и квалифицированного имени, состоящего из префикса пространства имен, двоеточия и локального имени в этом пространстве имен.

Обработчики событий

Объекты

Element
, представляющие HTML-элементы, определяют достаточно много свойств обработчиков событий. Достаточно присвоить функцию любому свойству из числа перечисленных ниже, и эта функция будет вызываться при возникновении события данного типа в элементе (или по достижении элемента в результате всплытия). Для регистрации обработчиков событий можно также использовать методы, определяемые интерфейсом EventTarget.

Большинство событий всплывают вверх по дереву документа до узла

Document
и затем передаются объекту
Window
. Поэтому все свойства обработчиков событий, перечисленные ниже, определены также в объектах
Document
и
Window
. Однако объект
Window
обладает достаточно большим количеством собственных обработчиков событий, и свойства, помеченные звездочкой в таблице ниже, в объекте
Window
имеют другой смысл. По историческим причинам обработчики событий, зарегистрированные посредством HTML-атрибутов в элементе
<body>
, регистрируются в объекте
Window
, а это означает, что свойства, помеченные звездочкой, в элементе
<body>
имеют другой смысл. См. также Window.

Многие события, перечисленные здесь, возбуждаются только в HTML-элементах определенных типов. Но, так как многие из этих событий всплывают вверх по дереву документа, свойства обработчиков событий определены во всех элементах. Мультимедийные события, введенные спецификацией HTML5, которые возбуждаются в тегах

<audio>
и
<video>,
не всплывают, поэтому они описываются в справочной статье MediaElement. Аналогично некоторые события форм, введенные спецификацией HTML5, также не всплывают и описываются в справочной статье FormControl.

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