Spec-Zone.ru › Web APIs

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

См. также

  • HTMLCollection

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API