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> |
Совместимость с браузерами
Loading…