--- title: HTMLCollection slug: Web/API/HTMLCollection translation_of: Web/API/HTMLCollection --- <p>{{APIRef("HTML DOM")}}</p> <p>Интерфейс <strong><code>HTMLCollection</code></strong> является обобщённой коллекцией (объектом, ведущим себя подобно массиву) элементов (в порядке упоминания в документе) и предоставляет методы и свойства для получения хранящихся в нём элементов.</p> <div class="note"><strong>Замечание:</strong> Интерфейс назван <code>HTMLCollection</code> по историческим причинам. До стандарта DOM4 коллекции, реализующие данный интерфейс, использовались только для хранения HTML-элементов.</div> <p><code>HTMLCollection</code>, хранящая элементы DOM, является динамической. При изменении документа она моментально отражает все произведённые изменения.</p> <h2 id="Свойства">Свойства</h2> <dl> <dt>{{domxref("HTMLCollection.length")}} {{readonlyInline}}</dt> <dd>Возвращает количество элементов в коллекции.</dd> </dl> <h2 id="Методы">Методы</h2> <dl> <dt>{{domxref("HTMLCollection.item()")}}</dt> <dd>Возвращает узел с порядковым номером <code>index</code>; отсчёт ведётся от нуля. Возвращает <code>null</code>, если <code>index </code>выходит за границы допустимого диапазона.</dd> <dt>{{domxref("HTMLCollection.namedItem()")}}</dt> <dd>Возвращает узел, идентификатор или имя (в целях совместимости) которого совпадает со строкой, переданной в аргументе <code>name</code>. Соответствие имени проверяется в самую последнюю очередь, только для HTML-элементов и только для тех из них, которые поддерживают свойство <code>name</code>. Возвращает <code>null</code> , если искомый элемент отсутствует.</dd> </dl> <h2 id="Использование_в_JavaScript">Использование в JavaScript</h2> <p><code>HTMLCollection</code> предоставляет своё содержимое как собственные свойства, доступные как по имени, так и по индексу (как в массиве). Это связано с тем, что идентификаторы HTML-элементов, содержащие точки и двоеточие (допустимо в HTML5), адресуемы исключительно через синтаксис доступа к массиву. Однако, при числовых идентификаторах невозможно определить, производится ли запрос по индексу или по идентификатору, неявно приведённому к числу.</p> <p>Пусть в документе присутствует элемент <code><form> </code>с <code>id,</code> равным «<code>myForm</code>»<code>:</code></p> <pre class="brush:js">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"];</pre> <h2 id="Поддержка_браузерами">Поддержка браузерами</h2> <p>Браузеры по разному ведут себя при наличии нескольких элементов с одинаковыми индексами, либо значениями свойств <code>namedItem</code>. Firefox 8 действует в соответствии с DOM2 и DOM4, возвращая первое совпадение. Internet Explorer и браузеры на основе WebKit возвращают новый экземпляр <code>HTMLCollection</code>. Opera возвращает {{domxref("NodeList")}} со всеми найденными элементами.</p> <h2 id="Спецификации">Спецификации</h2> <ul> <li><a href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75708506">DOM Level 2 HTML, Section 1.4, Miscellaneous Object Definitions</a></li> <li><a href="http://www.w3.org/TR/domcore/#interface-htmlcollection">DOM4: HTMLCollection</a></li> </ul> <h2 id="Смотрите_также">Смотрите также</h2> <ul> <li>{{domxref("NodeList")}}</li> <li>{{domxref("HTMLFormControlsCollection")}}, {{domxref("HTMLOptionsCollection")}}</li> </ul>