Каждый тэг на Web-странице и, соответственно, в коллекции document.all, имеет свой номер. Тэги нумеруются в том порядке, в каком
они встречаются в HTML-документе. Наример, тэг <HTML> имеет номер 0, тэг
<HEAD> - 1 и т.д. Для доступа к объекту по его номеру используется метод item() коллекции document.all.
Например, доступ к i-му объекту осуществляется так: document.all.item(i). Допускается и более короткая
форма этого выражения: document.all(i).
Например, используя свойство outerHTML тэга с номером 0, т.е. <HTML>, можно
вывести на экран все содержимое HTML-документа:
alert(document.all[0].outerHTML);
Обращение к тэгам по их номерам для получения их свойств показано
также в примере. Для этого используется функция allTags(), которая вызывается по событию Load при загрузке Web-страницы. При этом с помощью
цикла for перебираются все объекты коллекции document.all, т.е. все тэги Web-страницы, и для каждого из
них на экран с помощью метода alert() выводятся
такие общие свойства объекта:
- номер тэга - i (можно также использовать свойство sourceIndex);
- наименование тэга - tagName;
- идентификатор тэга - id;
- текстовое содержимое элемента Web-страницы - innerText (для всех тэгов,
кроме <HTML> и <BODY> - чтоб избежать дублирования, поскольку эти
элементы содержат тексты всех остальных элементов);
- наименование тэга-родителя (для всех тэгов, кроме тэга <HTML>) -
parentElement.tagName.
Обратите внимание, что для свойства tagName наименования HTML-параметров указываются только заглавными буквами.
В функции allTags() применен оператор with(). Он используется для более
компактной записи выражений, которые содержат общие части.
В функции allTags() такой общей частью
является выражение document.all.item(i), которое и указывается
в качестве аргумента оператора with(). Иначе пришлось
бы вместо, например, tagName указывать document.all.item(i).tagName.
Пример приведен соответственно в статье - Объект event в JavaScript