HTMLCollection
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Интерфейс 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 # interface-htmlcollection |