Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Cвойства. Многие HTML-контейнеры имеют атрибуты



Многие HTML-контейнеры имеют атрибуты. Как мы уже знаем, каждому контейнеру соответствует объект. При этом соответствии атрибутам отвечают свойства объекта. Соответствие между атрибутами HTML-контейнеров и свойствами DOM -объектов не всегда прямое. Обычно каждому атрибуту отвечает некоторое свойство объекта. Но, во-первых, название этого свойства не всегда легко угадать по названию атрибута, а во-вторых, у объекта могут быть свойства, не имеющие аналогов среди атрибутов. Кроме того, как мы знаем, атрибуты являются регистро-независимыми, как и весь язык HTML, тогда как свойства объектов нужно писать в точно определенном регистре символов.

Например, контейнер якоря <A...>...</A> имеет атрибут HREF, который превращает его в гипертекстовую ссылку:

<A HREF="http://intuit.ru/">intuit</A>

Данной гиперссылке соответствует объект (класса URL) - document.links[0], если предполагать, что это первая ссылка в нашем документе. Тогда атрибуту HREF будет соответствовать свойство href этого объекта. К свойству объекта можно обращаться с помощью точечной нотации: объект.свойство. Например, чтобы изменить адрес, на который указывает эта ссылка, мы можем написать:

document.links[0].href='http://ya.ru/';

К свойствам можно также обращаться с помощью скобочной нотации: объект['свойство']. В нашем примере:

document.links[0]['href']='http://ya.ru/';

У объектов, отвечающих гиперссылкам, есть также свойства, не имеющие аналогов среди атрибутов. Например, свойствоdocument.links[0]. protocol в нашем примере будет равно "http:" и т.д. Полный перечень свойств объектов класса URL Вы найдете в "Программируем гипертекстовые переходы".

Методы

В терминологии JavaScript методы объекта определяют функции, с помощью которых выполняются действия с этим объектом, например, изменение его свойств, отображения их на web-странице, отправка данных на сервер, перезагрузка страницы и т.п.

Например, если у нас есть ссылка <A HREF ="http:// intuit. ru/"> intuit </A> (будем считать, она первая в нашем документе), то у соответствующего ей объекта document.links[0] есть метод click (). Его вызов в любом месте JavaScript-программы равносилен тому, как если бы пользователь кликнул по ссылке, что демонстрирует пример:

<A HREF="http://intuit.ru/">intuit</A><SCRIPT> document.links[0].click(); </SCRIPT>

При открытии такой страницы пользователь сразу будет перенаправлен на сайт ИНТУИТ. Обратите внимание, что скрипт написан после ссылки. Если бы мы написали его до ссылки, то поскольку в этот момент ссылки (а значит и объекта) еще не существует, браузер выдал бы сообщение об ошибке.

Некоторые методы могут применяться неявно. Для всех объектов определен метод преобразования в строку символов:toString(). Например, при сложении числа и строки число будет преобразовано в строку:

"25"+5 = "25"+(5).toString() = "25"+"5" = "255"

Аналогично, если обратиться к объекту window. location (рассматриваемом в следующей лекции) в строковом контексте, скажем, внутри вызова document.write(), то неявно будет выполнено это преобразование, и программист этого не заметит, как если бы он распечатывал не объект, а строку:

<SCRIPT>document.write('Неявное преобразование: ');document.write(window.location);document.write('<BR>Явное преобразование: ');document.write(window.location.toString());</SCRIPT>

Тот же эффект можно наблюдать для встроенных объектов типа Date:

<SCRIPT>var d = new Date(); document.write('Неявное преобразование: ');document.write(d);document.write('<BR>Явное преобразование: ');document.write(d.toString());</SCRIPT>

Результат исполнения получите сами.





Дата публикования: 2015-01-24; Прочитано: 273 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...