Согласно правилам языка JavaScript все элементы на веб-странице выстраиваются в иерархическую структуру. Каждый объект является потомком объекта более высокого уровня. по отношению ко всем остальным объектам является объект Window, расположенный на самом верхнем уровне иерархии. Он представляет окно браузера и создается при запуске браузера. Свойства объекта Window относятся ко всему окну, в котором отображается документ.
Свойства объекта Location связаны с URL-адресом отображаемого в данный момент в окне браузера HTML-документа, а объекта Frame — со специальным способом представления данных в HTML-документе через фреймы. Свойства объекта History представляют адреса ранее загруженных веб-страниц.
Для каждой веб-страницы создается один объект Document. Он содержит в себе другие объекты — объекты HTML. Это различные элементы веб-страницы: формы, ссылки на другие HTML-документы или локальные ссылки внутри одного документа, объекты, определяющие URL-адрес документа, и т. д. Все эти объекты являются дочерними по отнощению к объекту Document.
|
|
Если в HTML-документе имеются формы, то они также предстают в виде иерархического набора объектов. Сама форма соответствует объекту Form, который является дочерним по отношению к объекту Document. Объект Form может содержать в себе такие объекты, как кнопки, переключатели и ноля для ввода текстовой информации. Все элементы формы являются дочерними объектами этой формы.
Иерархия объектов внутри веб-страницы задается вложенностью тегов HTML друг в друга и текста внутрь элементов. Объекты, имеющие открывающий и закрывающий теги (элементы-контейнеры), могут иметь дочерние объекты. Текст, атрибуты и теги, не имеющие закрывающего тега (например, img), не имеют дочерних объектов.
чтобы лучше понять иерархию объектов в HTML-документе, рассмотрим простейший пример (листинг 2.25).
Разберем этот документ с точки зрения иерархии объектов в языке JavaScript. Самому HTML-документу соответствует объект Document. Он является родителем для всех элементов, расположенных на веб-странице. Эти элементы принято называть узлами, а их иерархию — деревом HTML-документа.
Узел <HTML> является родительским по отношению ко всем остальным элементам веб-страницы. Узел <HEAD> имеет один дочерний узел <TITLE>. Узел <TITLE>, в свою очередь, имеет свой дочерний узел — текст «JavaScript Objects». Узел <BODY> имеет два дочерних узла: <Н1> и <Р>. Текст «Объекты JavaScript» является дочерним объектом по отношению к узлу <Н1>, а текст «Все элементы этой страницы являются объектами» — по отношению к узлу <Р>.
Таким образом, с точки зрения сценария JavaScript браузер и HTML-документ представляются иерархически организованным набором объектов. Свойства и методы этих объектов позволяют выполнять различные операции над окном браузера, HTML-документом, загруженным в это окно, а также над отдельными элементами на веб-странице.
|
|
Объекты веб-браузера
Обращаясь к объектам браузера, сценарий JavaScript взаимодействует с пользователем и документом HTML, загруженным в окно браузера, а также с самим браузером. Рассмотрим эти объекты.