HTMLAllCollection
Устарело: Эта функция больше не рекомендуется. Хотя некоторые браузеры могут её поддерживать, она может быть удалена из соответствующих веб-стандартов, может быть в процессе удаления или оставаться только для совместимости. Избегайте её использования и, при возможности, обновите существующий код; обратитесь к таблице совместимости внизу этой страницы, чтобы принять решение. Имейте в виду, что эта функция может перестать работать в любой момент.
Интерфейс HTMLAllCollection представляет собой коллекцию всех элементов документа, доступных по индексу (как массив) и по id элемента. Он возвращается свойством document.all.
HTMLAllCollection имеет очень похожую структуру с HTMLCollection, но существуют многочисленные тонкие различия в поведении — например, HTMLAllCollection может вызываться как функция, а его метод item() может вызываться со строкой, представляющей атрибут id или атрибут name элемента.
Свойства экземпляра
-
HTMLAllCollection.lengthТолько для чтения -
Возвращает количество элементов в коллекции.
Методы экземпляра
HTMLAllCollection.item()-
Возвращает элемент, расположенный по указанному смещению в коллекции, или элемент со значением, заданным для атрибута
idилиname. Возвращаетnull, если элемент не найден. HTMLAllCollection.namedItem()-
Возвращает первый элемент в коллекции, у которого атрибут
idили атрибутnameсоответствует заданному строковому имени, илиnull, если такого элемента нет.
Использование в JavaScript
Доступ по индексу
Помимо вышеперечисленных методов, к элементам в HTMLAllCollection можно получить доступ по целочисленным индексам и именам строковых свойств. Атрибут HTML id может содержать : и . в качестве допустимых символов, что потребовало бы использования квадратных скобок для доступа к свойствам. collection[i] эквивалентно collection.item(i), где i может быть целым числом, строкой, содержащей целое число, или строкой, представляющей id.
Вызов как функция
Объект HTMLAllCollection является вызываемым. Когда он вызывается без аргументов или с undefined, он возвращает null. В противном случае он возвращает то же значение, что и метод item(), когда ему передаются те же аргументы.
Особое поведение при преобразовании типов
По историческим причинам document.all — это объект, который по следующим причинам ведет себя как undefined:
- Он ослабленно равен
undefinedиnull. - Он ложный в контексте булевых значений.
- Его
typeofравен"undefined".
Это специальное поведение гарантирует, что код вроде:
if (document.all) {
// Assume that we are in IE; provide special logic
}
// Assume that we are in a modern browser
Продолжит обеспечивать современное поведение, даже если код выполняется в браузере, который реализует document.all по соображениям совместимости.
Однако во всех других контекстах document.all остается объектом. Например:
- Он не строго равен ни
undefinedниnull. - При использовании в левой части оператора нулевого слияния (
??) или оператора необязательной цепочки (?.) он не приведет к сокращению выражения.
Спецификации
| Спецификация |
|---|
| HTML # the-htmlallcollection-interface |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
HTMLAllCollection |
5 | 12 | 32 | 15 | 5 | 18 | 32 | 14 | 4 | 1.0 | ≤37 |
item |
5 | 12 | 32 | 15 | 5 | 18 | 32 | 14 | 4 | 1.0 | 3 |
length |
6 | 12 | 32 | 15 | 5 | 18 | 32 | 14 | 4 | 1.0 | 3 |
namedItem |
5 | 12 | 32 | 15 | 5 | 18 | 32 | 14 | 4 | 1.0 | 3 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLAllCollection