Альтернативное указание объекта в документе HTML
Интерфейсы для элементов модулей Style Sheet и Scripting
Для элемента style модуля Style Sheet определен интерфейс HTMLStyleElement со следующими основными свойствами:
· type – значение атрибута type;
· media – значение атрибута media;
· disabled – выключение (true) или включение (false) таблицы стилей.
Использование стилей в DOM будет подробнее рассмотрено в 4.5.8.
Для элемента script модуля Script определен интерфейс HTMLScriptElement со следующими основными свойствами:
· type – значение атрибута type;
· src – значение атрибута src;
· charset – значение атрибута charset;
· text – содержимое контейнера как текстовая строка.
Реально эти свойства доступны только для чтения. Содержимое контейнера <script>…</script>с помощью свойства text можно изменить только в Web-браузерах Internet Explorer и Opera, а содержимое свойства src нельзя изменить ни в одном Web-браузере.
Помимо доступа к элементам документа HTML с помощью индексов, методов getElementsByTagName(), getElementById() и getElementsByName(), можно также использовать альтернативную форму записи, принятую в объектно-ориентированных языках программирования. Для этой формы записи указывается имя объекта (значение его атрибута id), а затем имя свойства или обращение к методу. Эти два компонента отделяются друг от друга символом ".", например:
blocksImage01.src
Однако таким обращением следует пользоваться осторожно, поскольку оно приводит к ошибке в Firefox. Для Firefox можно было бы добавить перед обращением к объекту предложение:
blocksImage01 = document.getElementById("blocksImage01");
однако это предложение вызывает ошибку в Internet Explorer, поскольку объект blocksImage01 в нем уже существует (в остальных Web-браузерах таких проблем не возникает).
Пример 4.5.20. Использование альтернативного указания объекта:
Для фрагмента документа HTML
<ul id="studentList">Список студентов
<li id="Ivanov">Иванов Иван Иванович</li>
<li id="Petrov">Петров Петр Петрович</li>
<li id="Sidorov">Сидоров Сидор Сидорович</li>
</ul>
задан следующий фрагмент сценария:
// Получение элемента с id="Petrov"
// (только в Firefox)
Petrov = document.getElementById("Petrov");
// Вывод элемента списка с id="Petrov"
alert("Petrov='" + Petrov.firstChild.nodeValue + "'");
// Замена текстового содержимого
// элемента списка с id="Petrov"
Petrov.firstChild.nodeValue = "Николаев Николай Николаевич";
// Замена значения свойства id
// для элемента списка с id="Petrov"
Petrov.id = "Nikolaev";
// Получение элемента с id="Nikolaev"
// (только в Firefox)
Nikolaev = document.getElementById("Nikolaev");
// Вывод элемента списка с id="Nikolaevv"
alert("Nikolaev='" + Nikolaev.firstChild.nodeValue + "'");
Вывод Web-страницы для этого сценария будет иметь следующий вид: