Вы здесь: Главная > JavaScript > DOM

DOM

Объектная модель документа DOM — это способ управления структурой и стилем HTML-страницы. Он представляет внутреннюю часть страницы такой, какой её видит браузер, и позволяет разработчику изменять её с помощью JavaScript.

Если вы хотите просмотреть DOM для страницы, откройте инструменты разработчика в своём браузере и найдите панель “элементы”. Это отличное представление о том, как браузер думает, и в большинстве браузеров вы можете удалять и изменять элементы напрямую. Попробуйте!

Деревья и ветви

HTML — это структура, подобная XML, в которой элементы образуют структуру родительских узлов с дочерними узлами, подобную ветвям дерева.

Существует один корневой элемент (html) с ответвлениями типа head и body, каждое со своими собственными ответвлениями. По этой причине DOM также называется DOM-деревом.

Модификация DOM путём выбора элемента и изменения чего-либо в нем ─ это то, что часто делается в JavaScript. Для доступа к DOM из JavaScript используется объект document. Он предоставляется браузером и позволяет коду на странице взаимодействовать с содержимым.

Получение элемента

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

По идентификатору

document.getElementById ─ это метод для получения доступа к элементу ─ что неудивительно ─ по его идентификатору.

var pageHeader = document.getElementById('page-header');

Затем элементом pageHeader можно манипулировать ─ можно изменить его размер и цвет, а также объявить другой код для обработки элемента, на который нажимают или над которым наводят курсор. Он поддерживается практически во всех браузерах, о которых вам нужно беспокоиться.

Обратите внимание, что getElementById ─ это метод объекта document. Многие методы, используемые для доступа к странице, находятся в объекте document.

По имени тега

document.getElementsByTagName работает почти так же, как getElementById, за исключением того, что принимает имя тега (a, ul, li.) Вместо идентификатора и возвращает список узлов, который по сути является массивом элементов DOM.

По имени класса

document.getElementsByClassName возвращает тот же тип списка узлов, что и getElementsByTagName, за исключением того, что вы передаёте имя класса для сопоставления, а не имя тега.

С помощью CSS-селектора

В современных браузерах доступно несколько новых методов, которые упрощают выбор элементов, позволяя использовать CSS-селекторы. Это document.querySelector и document.querySelectorAll.

var pageHeader = document.querySelector('#header');
var buttons = document.querySelectorAll(.btn);

querySelector, например getElementById, возвращает только один элемент, тогда как querySelectorAll возвращает список узлов. Если несколько элементов соответствуют селектору, который вы передаёте querySelector, будет возвращён только первый.

Страницы в тему:

Добавить комментарий