В соответствии с объектной моделью документа DOM (Document Object Model),
которая поддерживается языком JavaScript, все тэги Web-страницы являются
объектами и помещены в коллекцию, которая называется document.all (спецификацию DOM можно получить по адресу
http://www.w3.org/DOM/). Коллекция отличается от ассоциативных массивов тем, что помимо свойств имеет также методы, т.е. сама является объектом.
Благодаря объектной модели документа появилась
возможность программно с помощью JavaScript получить доступ к любому объекту
(тэгу) Web-страницы для определения и/или изменения его свойств с помощью
выражения объект.свойство.
В качестве свойства объекта JavaScript могут быть указаны:
- HTML-параметры тэгов (записываются прописными буквами);
- свойства каскадных листов стилей CSS;
- общие свойства тэгов, связанные с введением объектной модели документа:
- tagName - наименование тэга;
- sourceIndex - порядковый номер тэга в коллекции document.all;
- innerText - текстовое содержимое элемента Web-страницы, включающее текст
дочерних элементов, но исключая любые тэги HTML. Если присвоить элементу новое
значение, все содержимое элемента будет заменено;
- outerText - текстовое содержимое элемента Web-страницы, включающее текст
дочерних элементов, но исключая любые тэги HTML. Если присвоить элементу новое
значение, все содержимое элемента и сам элемент будут заменены;
- innerHTML - все содержимое элемента: текст и тэги дочерних элементов. Если
присвоить этому свойству новое значение, все содержимое элемента будет заменено;
- outerHTML - все содержимое элемента: текст и тэги дочерних элементов, а
также тэги, образующие этот элемент. Если присвоить этому свойству новое значение,
все содержимое элемента и сам элемент будут заменены;
- parentElement - тэг-родитель (для всех тэгов, кроме первого в HTML-документе).
При использовании HTML-параметров в качестве свойств объектов необходимо
указывать только такие параметры, которые допустимы для данного тэга. Например,
использование параметра ALIGN для тэга <FONT> приведет к ошибке.
Если в качестве свойств объектов используются
свойства каскадных листов стилей, то, поскольку лексика CSS отличается от
лексики JavaScript, необходимо преобразовать форму свойства CSS в форму свойства
объекта JavaScript. Для этого применяется следующее правило: если свойство CSS
состоит из одного слова, то преобразование не требуется; если свойство CSS
состоит из нескольких слов, записанных через дефис, то в обозначении свойства
для JavaScript все знаки дефиса убираются, первое слово свойства пишется с
прописной буквы, а второе слово и последующие слова свойства пишутся с заглавной
буквы. Например, свойство CSS font-size на JavaScript
будет выглядеть так: fontSize, а свойство CSS list-style-image:url(URL) так:
listStyleImage="url(URL)".
При использовании объктной модели документа доступ
ко всем свойствам CSS осуществляется с помощью объекта style, который имеет такие свойства:
- style;
- currentStyle;
- runtimeStyle.
Свойство style позволяет осуществить доступ для
определения и/или изменения только тех свойств CSS, которые заданы встроенно в
тэге с помощью параметра STYLE. Для этого используется выражение style.свойство CSS, например, style.fontSize.
Поэтому с помощью свойства style нельзя получить доступ к свойствам CSS,
указанным в тэге-контейнере <STYLE> </STYLE>. Для этого необходимо
воспользоваться свойством currentStyle, которое позволяет
определить текущие значения свойств CSS (без их изменения), которые указаны как
с помощью параметра STYLE, так и с помощью тэга <STYLE>, а также значения
HTML-параметров.
С помощью свойства runtimeStyle объекты JavaScript можно изменить на
экране без изменения значений свойств CSS параметра STYLE.
Определение свойств объектов Web-страницы (общих,
заданных с помощью HTML-параметров или с помощью свойств CSS) смотреть в --> Объект event в JavaScript.