браузе р ДОЛЖен СОЗДаТЬ маССИВ form s Документ а ка к маССИВ маССИВОВ elements. Сделав это, Web-браузер сможет сохранить свойства элементов формы из данного
примера В document, forms [0] .elements [0], document, forms [0] .elements [1] И
document. forms[0] .elements[2] . (Браузер сохраняет свойства элементов формы
В массиве element s массива document. forms В ТОМ ПОрЯДКе, В КОТОРОМ ОНИ ОП —
ределены в форме.) Наконец, браузер сохраняет свойства трех гиперссылок на странице из данного примера в элементах массива link s документа:
document. links[0], document. links[1] И document. links[2] В ТОМ ПОрЯДКе, В
котором он находит гиперссылок в HTML-коде Web-страницы. (На Web —
странице есть три гиперссылки — по одной закреплено за каждой из кнопок внизу
формы, а третья закреплена за текстом «NVBizNet. Com» в нижней части страницы.)
Обращение к объектам Web-страницы по имени
(а не по позиции в массиве)
Из предыдущего практикума вы узнали, как с помощью массива документа обращаться к свойствам объектов на Web-странице. Однако для того, чтобы ра —
ботать со свойствами объекта, вы должны сначала определить позицию (индекс)
в массиве документа. Чтобы определить индекс, сосчитайте HTML-дескрипторы, вставляющие объекты одного и того же типа, пока не дойдете до нужного вам объекта. Зная индекс объекта, вы можете обратиться к любому из свойств масси —
ва С ПОМОЩЬЮ Записи ВИДа document. тип_объекта[индекс_объекта_данного_
типа] .свойство. Например, чтобы задать атрибут (или свойство) sr e третьего
изображения на Web-странице, вы можете дать Web-браузеру указание выполнить следующий оператор JavaScript:
document. images[2].srс = «images/NVBizNet. JPG»;
В массивах JavaScript отсчет элементов начинается с нуля, а это значит, что
третий элемент массива находится по адресу document. images[2]. Следователь- но, вышеприведенный оператор изменит источник (или путь и имя файла) изображения, вставленного в Web-страницу третьим дескриптором. (После того, как вы измените свойство sr e изображения в массиве images документа, Web-браузер заменит изображение, отображаемое на Web-странице.)
Обращение к объектам Web-страницы по номеру становится трудоемким, если на странице много объектов одного и того же типа. Предположим, напри —
мер, вы хотите заменить изображение, расположенное недалеко от конца Web — страницы, другой картинкой. Вам придется сначала определить индекс изобра —
жения, СОСЧИТав ДеСКрИПТОрЫ , Идущие перед ДеСКрИПТОрОМ ,
свойство sr e которого требуется изменить. Если у вас на странице двадцать или тридцать изображений-миниатюр, считать вы будете долго, в связи с чем возрас — тет вероятность того, что вы допустите ошибку.
Глава 8. JavaScript 41 7
ПРАКТИКУМ
Если же вы дадите объекту Web-страницы имя, вы сможете затем работать
со свойствами объекта, по имени с помощью записи вида
document. имя объекта. свойство. Например, если в HTML-коде Web-страницы имеется следующий дескриптор :
img name=»logo» width=»78″ height=»61″
src=»images/picture. GIF»
то, не подсчитывая количество дескрипторов, предшествующих тому деск- риптору , атрибут sr c которого вы хотите изменить, вы можете заменить изображение на Web-странице другой картинкой, дав Web-браузеру указание вы- полнить оператор JavaScript, аналогичный следующему:
document. logo. src = «images/NVBizNet. JPG»;
Хотя данный пример показывает только, как использовать имя объекта вместо
имени массива и значения индекса, то же самое справедливо и для других типов объектов. Иными словами, если дескриптор, вставляющий объект на страницу,
ВКЛЮЧает В Себя атрибут name, ВЫ МОЖете заменить ЗапИСЬ тип_объекта[индекс_
объекта_данного_тила] именем объекта и записывать обращение к тому или
ИНОМУ СВОЙСТВУ Объекта как document. имя_обтьекта. свойство.
Использование содержимого объекта документа
Прежде чем визуализировать Web-страницу на экране, Web-браузер создает объект document. Считывая HTML-код Web-страницы, браузер сохраняет значе —
ния атрибутов Web-страницы (таких как цвет фона, цвет текста, название и т. д.)
в объекте документа. Браузер также добавляет в объект документа массивы, в ко — торых он сохраняет свойства форм, гиперссылок, изображений и Java-аплетов, вставленных в страницу.
Один из способов воспользоваться объектом документа — это заполнить эле- менты формы за посетителя. Предположим, например, у вас есть Web-страница с формой заказа. Вместо того чтобы заставлять клиента вводить имя, адрес и пла — тежные данные всякий раз, когда он размещает у вас заказ, сохраните эти значе — ния в cookie-наборе на жестком диске посетителя. Тогда можно будет извлекать