HTMLCollection
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ru/web/api/html_dom_api/index.md)
Интерфейс HTMLCollection
является обобщённой коллекцией (объектом, ведущим себя подобно массиву) элементов (в порядке упоминания в документе) и предоставляет методы и свойства для получения хранящихся в нём элементов.
Примечание:
Интерфейс назван HTMLCollection
по историческим причинам. До стандарта DOM4 коллекции, реализующие данный интерфейс, использовались только для хранения HTML-элементов.
HTMLCollection
, хранящая элементы DOM, является динамической. При изменении документа она моментально отражает все произведённые изменения.
Свойства
HTMLCollection.length
Только для чтения-
Возвращает количество элементов в коллекции.
Методы
HTMLCollection.item()
-
Возвращает узел с порядковым номером
index
; отсчёт ведётся от нуля. Возвращаетnull
, еслиindex
выходит за границы допустимого диапазона. HTMLCollection.namedItem()
-
Возвращает узел, идентификатор или имя (в целях совместимости) которого совпадает со строкой, переданной в аргументе
name
. Соответствие имени проверяется в самую последнюю очередь, только для HTML-элементов и только для тех из них, которые поддерживают свойствоname
. Возвращаетnull
, если искомый элемент отсутствует.
Использование в JavaScript
HTMLCollection
предоставляет своё содержимое как собственные свойства, доступные как по имени, так и по индексу (как в массиве). Это связано с тем, что идентификаторы HTML-элементов, содержащие точки и двоеточие (допустимо в HTML5), адресуемы исключительно через синтаксис доступа к массиву. Однако, при числовых идентификаторах невозможно определить, производится ли запрос по индексу или по идентификатору, неявно приведённому к числу.
Пусть в документе присутствует элемент <form>
с id
, равным «myForm
»:
var elem1, elem2;
// document.forms имеет тип HTMLCollection
elem1 = document.forms[0];
elem2 = document.forms.item(0);
alert(elem1 === elem2); // выводит "true"
elem1 = document.forms.myForm;
elem2 = document.forms.namedItem("myForm");
alert(elem1 === elem2); // выводит "true"
elem1 = document.forms["named.item.with.periods"];
Спецификации
Specification |
---|
DOM Standard # interface-htmlcollection |
Совместимость с браузерами
BCD tables only load in the browser