Далее на странице...
Практическое применение языка JavaScript начнем с изучения метода getElementsByTagName, который позволяет отбирать отдельные элементы веб-страниц.
Многое из того, что позволяет сделать javascript при работе с элементами веб-страниц, можно сделать проще и быстрее при помощи jQuery. Но это уже тема другого курса.
Метод getElementsByTagName - Отбор элементов по имени тега
Метод getElementsByTagName является методом объекта document.
Название метода говорит само за себя и переводится буквально: метод getElementsByTagName позволяет получить все элементы страницы по имени тега.
Например, можно отобрать для работы все абзацы, то есть теги <p> веб-страницы или все теги <div>. Или же все изображения - теги <img>. И дальше что-то с ними делать средствами javascript.
Метод getElementsByTagName в результате своей работы возвращает массив из указанных элементов.
Стоит обратить внимание: в имени метода в конце слова Elements стоит буква s, то есть, как правило, метод служит для отбора именно группы элементов.
Например, запись ниже занесет в переменную all_img массив из всех изображений веб-страницы. Число изображений, то есть длину массива, мы сможем получить при помощи свойства length и вывести на экран методом alert.
var all_img = document.getElementsByTagName("img");
alert(all_img.length); /* Выводим число изображений */
Однако в окне, вызванным методом alert, мы видим цифру 0.
Но почему? Ведь на странице есть изображения?
Строка вызова скрипта в конце документа
Дело в том, что строка вызова скрипта расположена в начале html-документа (смотрите предыдущую заметку).
<script src="js/myscripts.js" type="text/javascript"> </script>
В этом случае при построении DOM-дерева, браузер в первую очередь выполняет js-скрипт, а потом находит теги <img>.
Чтобы метод getElementsByTagName нашел все указанные теги на странице, необходимо строку вызова скрипта:
<script src="js/myscripts.js" type="text/javascript"> </script>
поместить в конец документа - перед закрытием тега </body>:
<html>
<head>
<title>Строка вызова скрипта - в конце документа</title>
</head>
<body>
.
.
.
<script src="js/myscripts.js" type="text/javascript"> </script>
</body>
</html>
После этого мы получим модальное окно с цифрой 6, что соответствовало числу изображений на странице.
Об этом следует помнить. Если в работе с javascript нужно отобрать/«вытащить» какие-либо теги страницы, то строку вызова скрипта следует размещать в конце html-документа.
В jQuery есть возможность не переносить строку вызова скрипта в конец документа.