
В этом разделе представлены упражнения, которые помогут вам отработать навыки поиска родительских элементов в Document Object Model (DOM). Каждое задание начинается с готовой HTML-структуры, которую вам нужно будет модифицировать с помощью JavaScript. Ваша задача - дополнить предложенный JavaScript-код, вписывая пропущенные фрагменты в специальные поля. После внесения изменений вы сможете выполнить код и увидеть результат прямо на странице. Упражнения постепенно усложняются, начиная с простых задач на использование `parentNode` и заканчивая более сложными сценариями с применением `parentElement` и `closest`.
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Задание 1. Родитель первого уровня
Найдите родительский элемент для параграфа с id "child" и измените цвет текста родителя на синий.
<div id="parent">
<p id="child">Это дочерний элемент.</p>
</div>
const childElement = document.input__1("child");
const parentElement = childElement.input__2;
if (parentElement) {
parentElement.style.input__3 = "blue";
}
Задание 2. Родительский элемент контейнера
Найдите родительский элемент для списка ul и добавьте ему границу (border) толщиной 2px, сплошную и черного цвета.
<div class="container">
<ul>
<li>Элемент 1</li>
<li>Элемент 2</li>
</ul>
</div>
const listElement = document.input__1("ul");
const containerElement = listElement.input__2;
if (containerElement) {
containerElement.style.input__3 = "2px solid black";
}
Задание 3. Родитель элемента изображения
Найдите родительский элемент для изображения и измените его отступ (padding) на 20px.
<div id="imageContainer">
<img src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike-300x300.png" alt="Картинка">
</div>
const imageElement = document.input__1("img");
const imageParent = imageElement.input__2;
if (imageParent) {
imageParent.style.input__3 = "20px";
}
Задание 4. Изменение текста родительского элемента span
Найдите родителя элемента span с id "targetSpan" и измените текст этого родителя на "Новый текст родителя".
<div>
<p>Текст абзаца, внутри <span id="targetSpan">span элемент</span>.</p>
</div>
const spanElement = document.input__1("targetSpan");
const parentOfSpan = spanElement.input__2;
if (parentOfSpan) {
parentOfSpan.input__3 = "Новый текст родителя";
}
Задание 5. Родительский элемент и добавление класса
Найдите родительский элемент для кнопки и добавьте ему класс "highlight".
.highlight {
background-color: lightyellow;
}
<div id="buttonContainer">
<button>Кнопка</button>
</div>
const buttonElement = document.input__1("button");
const parentButton = buttonElement.input__2;
if (parentButton) {
parentButton.classList.input__3("highlight");
}
Задание 6. Поиск родителя списка li
Найдите родительский элемент для элемента списка `li` и измените стиль списка на `list-style-type: square;`.
<ul>
<li>Элемент списка 1</li>
<li id="listItem">Элемент списка 2</li>
</ul>
const listItem = document.input__1("listItem");
const listParent = listItem.input__2;
if (listParent) {
listParent.style.input__3 = "square";
}
Задание 7. Родительский элемент и изменение фона
Найдите родительский элемент для ссылки `<a>` и установите цвет фона (background-color) родителя на светло-зеленый.
<nav>
<a href="#">Ссылка</a>
</nav>
const linkElement = document.input__1("a");
const navElement = linkElement.input__2;
if (navElement) {
navElement.style.input__3 = "lightgreen";
}
Задание 8. Поиск родителя по классу (parentElement)
Найдите родительский элемент для элемента с id "inner" используя `parentElement` и измените текст элемента с классом "outer" на "Родитель найден!".
<div class="outer">
<div id="inner">Внутренний элемент</div>
</div>
<div class="outer">Этот текст должен измениться</div>
const innerElement = document.input__1("inner");
const outerElement = innerElement.input__2;
if (outerElement) {
const targetOuter = document.input__3(".outer");
if (targetOuter) {
targetOuter.input__4 = "Родитель найден!";
}
}