JavaScript - DOM Document: A Beginner's Guide
Привет,野心勃勃的程序设计师们! Сегодня мы отправимся в увлекательное путешествие в мир JavaScript и Document Object Model (DOM). Не волнуйтесь, если эти термины показались вам немного пугающими - к концу этого руководства вы будете манипулировать веб-страницами, как профи!
Что такое HTML DOM Document?
Представьте, что вы строите дом. Чертежи этого дома - это ваш HTML-документ, а сам дом - это то, что вы видите в браузере. А что, если вы хотите изменить цвет стены или добавить новое окно после того, как дом уже построен? Вот где на помощь приходит DOM!
HTML DOM (Document Object Model) - это программный интерфейс для HTML-документов. Он представляет структуру документа в виде древовидной иерархии, где каждый узел - это объект, представляющий часть документа.
Документный объект
В корне этого дерева находится объект document
. Это как фундамент нашего дома - все остальное построено поверх него.
Давайте начнем с простого примера:
<!DOCTYPE html>
<html>
<head>
<title>Моя первая страница DOM</title>
</head>
<body>
<h1>Добро пожаловать в DOM!</h1>
<p>Это абзац.</p>
</body>
</html>
В этой структуре HTML, document
находится наверху, затем follows html
, затем head
и body
, и так далее.
Доступ к объекту DOM Document
Теперь, когда мы понимаем, что такое DOM, давайте узнаем, как к нему получить доступ. В JavaScript мы можем легко получить доступ к объекту документа, используя ключевое слово document
.
Вот простой пример:
console.log(document);
Если вы выполните это в консоли вашего браузера, вы увидите весь объект документа. Это как получить вид на наш дом с высоты птичьего полета!
Свойства объекта DOM Document
Объект документа имеет множество свойств, которые позволяют нам доступ к различным частям HTML-документа. Давайте рассмотрим некоторые из этих свойств:
Свойство Document childElementCount
Свойство childElementCount
возвращает количество дочерних элементов, которые имеет элемент. Для объекта документа оно возвращает количество прямых детей элемента <html>
.
console.log(document.childElementCount);
Это обычно возвращает 1, так как элемент <html>
обычно имеет только одного прямого ребенка: элемент <body>
.
Свойство Document Links
Свойство links
возвращает коллекцию всех элементов <a>
и <area>
в документе, у которых есть атрибут href
.
console.log(document.links);
Это как спросить: "Сколько дверей (ссылок) у нашего дома?"
Свойство Document Title
Свойство title
получает или устанавливает заголовок текущего документа.
console.log(document.title);
document.title = "Мое новое имя";
Это как изменить табличку с именем на вашем доме!
Практические примеры
Давайте применяем наши знания на реальных примерах:
Пример 1: Изменение заголовка страницы
document.title = "Добро пожаловать на " + document.title;
console.log("Новый заголовок: " + document.title);
Этот скрипт добавляет "Добро пожаловать на " в начале текущего заголовка страницы. Это как добавить friendly greeting к табличке с именем вашего дома!
Пример 2: Подсчет ссылок
let linkCount = document.links.length;
console.log("Эта страница имеет " + linkCount + " ссылок.");
Этот скрипт подсчитывает, сколько ссылок на вашей странице. Это как сосчитать, сколько способов покинуть ваш дом!
Пример 3: Изменение содержимого страницы
let newHeading = document.createElement("h2");
newHeading.textContent = "Этот заголовок был добавлен с помощью JavaScript!";
document.body.appendChild(newHeading);
Этот скрипт создает новый элемент <h2>
, устанавливает его текстовое содержимое и добавляет его в конец <body>
. Это как добавить новую комнату к вашему дому с помощью JavaScript!
Общие методы объекта DOM Document
Вот таблица некоторых общих методов объекта DOM:
Метод | Описание |
---|---|
document.getElementById(id) |
Возвращает элемент с указанным идентификатором |
document.getElementsByClassName(name) |
Возвращает коллекцию элементов с указанным именем класса |
document.getElementsByTagName(name) |
Возвращает коллекцию элементов с указанным именем тега |
document.createElement(name) |
Создает элементный узел |
document.createTextNode(text) |
Создает текстовый узел |
document.querySelector(selector) |
Возвращает первый элемент, соответствующий CSS-селектору |
document.querySelectorAll(selector) |
Возвращает все элементы, соответствующие CSS-селектору |
Заключение
Поздравления! Вы сделали свои первые шаги в мир манипулирования DOM с помощью JavaScript. Запомните, что DOM - это ваш инструмент для создания динамичных, интерактивных веб-страниц. Это как иметь magic wand, который может изменить любую часть вашей веб-страницы по вашему желанию!
Продолжая ваше путешествие, вы откроете для себя еще больше захватывающих способов использования DOM. Продолжайте практиковаться, stay curious и не бойтесь экспериментировать. Before you know it, вы будете создавать веб-страницы, которые танцуют под вашу JavaScript музыку!
Счастливого кодирования, будущие веб-волшебники!
Credits: Image by storyset