Оглавление

17.11. Обращение к элементам документа.

Выравнивание заголовков по центру

 

Обратиться к элементу документа можно следующими способами:
□   по номеру элемента в коллекции (элементы нумеруются в порядке появления в документе, начиная с нуля). Номер элемента может быть указан как в круглых, так и в квадратных скобках:

   Str = document.all(1).tagName;
   Str = document.all[1].tagName;

□  по имени или идентификатору элемента:

   Str = document.all["<name или id>"].tagName;
   Str = document.all("<name или id>").tagName;
   Str = document.all.<name или id>.tagName;

□  с помощью метода item(). Обратите внимание, можно использовать только круглые скобки:

   Str = document.all.item(1).tagName;
   Str = document.all.item("<name или id>").tagName;

Обратите внимание: в Internet Explorer версии 8.0 второй способ не работает;
□ если идентификатор элемента является уникальным, то к элементу можно обратиться не как к элементу коллекции, а как к отдельному объекту:

   Str = <name или id>.tagName;

□ если идентификатор элемента не является уникальным, то нужно будет указать второй индекс:

   Str = document.all("<name или id>", 2).tagName;

Обратите внимание: в Internet Explorer версии 8.0 способ не работает.

 

Вместо коллекции all может быть указана другая коллекция. Например, к изображению можно обратиться следующими способами:

   Str = document.images.<name или id>.src;
   Str = document.images[<Индекс>].src;
   Str = document.images.item(<Индекс>).src;

А к ссылке можно обратиться через коллекцию links:

   Str = document.links[<Индекс>].href;

Коллекции all и links имеют дополнительный метод tags, позволяющий фильтровать элементы по их тегу:

   document.all.tags("H1")

Количество  элементов  в  коллекции  можно  узнать  с  помощью  свойства length:

document.all.tags("H1").length

 

В некоторых Web-браузерах нет коллекции all. Вместо нее для поиска элемента по идентификатору следует пользоваться методом getElementById<Идентификатор>). Метод возвращает ссылку только на один элемент (даже если элементов с одинаковым идентификатором несколько), так как по определению идентификатор должен быть уникальным. Пример: Str =

   Str = document.getElementById("check1").value;

Чтобы получить элементы по названию тега следует воспользоваться методом getElementsByTagName (<Тег>). Получим количество тегов <h1>:

   len = document.getElementsByTagName("h1").length;

А теперь количество тегов <input> внутри формы с идентификатором frm:

var frms = document.getElementById("frm");
var len = frms.getElementsByTagName("input").length;


В качестве примера в листинге 59 производится перебор всех элементов коллекции с помощью цикла. Выровняем все заголовки первого уровня по центру.

 

Листинг 59. Выравнивание всех заголовков по центру

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
         "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <title>Выравнивание всех заголовков по центру</title>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<h1>Заголовок1</h1>
<h1>Заголовок2</h1>
<h1>Заголовок3</h1>
<h1>Заголовок4</h1>
<script type="text/javascript">
<!--
var tagsH1 = document.getElementsByTagName("h1");
var len = tagsH1.length;
for (var i=0; i<len; i++) {
   tagsH1[i].style.textAlign = "center";
}
//-->
</script>
</body>
</html>

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити