Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaScript. DOM.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
81.92 Кб
Скачать

Создание функций

Существует 2 вида функций – именованные и неименованные. Основное отличие в результате их работы в том, что именованная функция видна везде, а анонимная – только после объявления:

Именованные (FunctionDeclaration)

function имя (параметры) {...}

Пример.

var a = sum(2,2)

function sum(x,y) {

return x+y

}

Анонимные (FunctionExpression)

var имя = function(параметры) {…}

Плохой пример. Будет ошибка, т.к sum еще не существует.

var a = sum(2,2)

var sum = function(x,y) {

return x+y

}

Объекты

Javascript – объектный язык. В нем все является объектами. Строки, числа, функции и массивы – все это объекты со своими методами и свойствами. Объекты создаются функциями-конструкторами при помощи директивы new. Практически всё в javascript делается при помощи вызова методов различных объектов.

Методы объектов вызываются через точку. Например, у строки String есть метод toUpperCase, возвращающий строку в верхнем регистре:

name = "Vasya"

alert( name.toUpperCase() )

Или даже так:

alert( "Vasya".toUpperCase() )

DOM-модель

Основным инструментом работы и динамических изменений на странице является DOM (Document Object Model) – объектная модель, используемая для XML/HTML-документов. Согласно DOM-модели, документ является иерархией. Проще говоря, DOM – это представление документа в виде дерева тегов. Это дерево образуется за счет вложенной структуры тегов плюс текстовые фрагменты страницы, каждый из которых образует отдельный узел.

Пример.

Построим дерево DOM для следующего документа.

<html>

<head>

<title>Моя страница</title>

</head>

<body>

Текст моей прекрасной страницы

</body>

</html>

Самый внешний тег – <html>, поэтому дерево начинает расти от него. Внутри <html> находятся два узла: <head> и <body>, они становятся дочерними узлами для <html>.

Теги образуют узлы-элементы (element node). Текст представлен текстовыми узлами (text node).

Пример посложнее.

<html>

<head>

<title>ДМФ</title>

</head>

<body>

<p>Правда о ДМФ</p>

<ol>

<li>ДМФ – праздник веселый</li>

<li>но тяжелый</li>

</ol>

</body>

</html>

Корневым элементом иерархии является html. У него есть два потомка. Первый – head, второй – body. И так далее, каждый вложенный тег является потомком тега выше:

Некоторые браузеры воспринимают текст, состоящий из одних пробельных символов, как текстовый узел.

Зачем, кроме красивых рисунков, нужна иерархическая модель DOM? Каждый DOM-элемент является объектом и предоставляет свойства для манипуляции своим содержимым, для доступа к родителям и потомкам.

Для манипуляций с DOM моделью страницы используется объект document. Используя document, можно получать нужный элемент дерева и менять его содержание.

Способы доступа и свойства элементов dom Доступ к элементам согласно dom-модели

Любой доступ и изменения DOM берут свое начало от объекта document: document.documentElement.

Например, document.body. (html = document)

Все дочерние элементы каждого DOM-узла, включая текстовые находятся в массиве childNodes.

Пример 1. В данном примере цикл перебирает всех детей document.body.

for(var i=0; i<document.body.childNodes.length; i++) {

var child = document.body.childNodes[i]

alert(child.tagName)

}

Свойства firstChild и lastChild показывают на первый и последний дочерние элементы и равны null, если детей нет. Свойство parentNode указывает на родителя. Например, для <body> таким элементом является <html>.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]