
В этом блоке заданий вы познакомитесь с основами управления HTML-шаблонами через JavaScript. Вы научитесь находить элементы на странице, изменять их содержимое, стили и атрибуты. Эти навыки являются фундаментальными для создания интерактивных веб-страниц и динамических пользовательских интерфейсов. По мере выполнения заданий сложность будет возрастать, что позволит вам постепенно углублять свои знания и навыки в работе с DOM.
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Изменение текста элемента
Найдите элемент с идентификатором `greeting` и измените его текстовое содержимое на "Привет, JavaScript!".
<div id="greeting">Привет, мир!</div>
document.input__1("greeting").input__2 = "Привет, JavaScript!";
Изменение стиля элемента
Найдите элемент с классом `highlight` и измените цвет его фона на желтый (`yellow`).
<style>
.highlight {
padding: 10px;
border: 1px solid black;
}
</style>
<div class="highlight">Этот блок нужно выделить.</div>
document.input__1(".highlight").style.input__2 = "yellow";
Добавление нового элемента
Создайте новый элемент `<p>` с текстом "Это новый абзац" и добавьте его в конец элемента `container`.
<style>
#container {
border: 1px solid gray;
padding: 10px;
}
</style>
<div id="container"></div>
const newParagraph = document.input__1("p");
newParagraph.input__2 = "Это новый абзац";
document.input__3("container").input__4(newParagraph);
Установка атрибута элемента
Найдите изображение с классом `logo` и установите для него атрибут `src` на URL изображения: "https://naytikurs.ru/assets/uploads/2025/03/test-na-znanie-osnov-kiberbezopasnosti-300x300.png".
<style>
.logo {
width: 100px;
height: auto;
}
</style>
<img class="logo" alt="Логотип">
const logoImage = document.input__1(".logo");
logoImage.input__2("src", "https://naytikurs.ru/assets/uploads/2025/03/test-na-znanie-osnov-kiberbezopasnosti-300x300.png");
Работа с коллекцией элементов
Найдите все элементы списка `<li>` и добавьте к тексту каждого элемента порядковый номер (1, 2, 3 и т.д.).
<ul>
<li>Пункт 1</li>
<li>Пункт 2</li>
<li>Пункт 3</li>
</ul>
const listItems = document.input__1('li');
for (let i = 0; i < listItems.length; i++) {
listItems[i].input__2 = (i + 1) + ". " + listItems[i].input__3;
}
Добавление класса элементу
Найдите кнопку с идентификатором `myButton` и добавьте ей класс `active`. CSS уже содержит стиль для класса `active`, чтобы кнопка выглядела выделенной.
<style>
.active {
background-color: lightblue;
font-weight: bold;
}
</style>
<button id="myButton">Нажми меня</button>
const button = document.input__1("myButton");
button.classList.input__2("active");
Удаление элемента
Найдите элемент с идентификатором `removeMe` и удалите его из DOM.
<div id="container">
<p id="removeMe">Этот абзац нужно удалить.</p>
</div>
const elementToRemove = document.input__1("removeMe");
const parentElement = elementToRemove.input__2;
parentElement.input__3(elementToRemove);
Изменение HTML содержимого
Найдите элемент с идентификатором `contentBox` и замените его внутреннее HTML содержимое на `<h1>Новый заголовок</h1><p>Новый параграф.</p>`.
<style>
#contentBox {
border: 2px dashed lightgray;
padding: 15px;
}
</style>
<div id="contentBox">
<p>Старый контент.</p>
</div>
const contentBox = document.input__1("contentBox");
contentBox.input__2 = "<h1>Новый заголовок</h1><p>Новый параграф.</p>";