
Умение находить первый и последний дочерние элементы в DOM открывает широкие возможности для манипуляции веб-страницей. Вы сможете динамически изменять контент, стили и структуру элементов, делая ваш сайт интерактивным и удобным для пользователя. В этом уроке вы выполните несколько практических заданий, которые помогут вам закрепить эти навыки. Каждое задание состоит из HTML-разметки и фрагмента JavaScript-кода, в котором вам нужно будет дописать пропущенные части, чтобы решить поставленную задачу. Внимательно читайте описания заданий и используйте подсказки, если возникнут трудности. Успехов!
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Изменение текста первого элемента списка
Найдите первый элемент списка `ul` и измените его текст на 'Первый элемент изменен!'. Используйте свойства DOM для навигации по дереву элементов.
<ul>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
const list = document.querySelector('ul');
const firstChild = list.input__1;
firstChild.input__2 = 'Первый элемент изменен!';
Изменение стиля последнего элемента списка
Найдите последний элемент списка `ul` и измените цвет его текста на красный. Используйте свойства DOM для навигации и свойство `style` для изменения стиля.
<ul>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
const list = document.querySelector('ul');
const lastChild = list.input__1;
lastChild.style.input__2 = 'red';
Получение идентификатора первого элемента блока
Получите значение атрибута `id` первого дочернего элемента блока `div` с классом 'container'. Используйте методы DOM для навигации и получения атрибутов.
<div class="container">
<p id="firstParagraph">Первый параграф</p>
<p id="secondParagraph">Второй параграф</p>
</div>
const container = document.querySelector('.container');
const firstChild = container.input__1;
const firstChildId = firstChild.input__2('id');
Проверка наличия класса у последнего элемента
Проверьте, содержит ли последний дочерний элемент списка `ul` класс 'last-item'. Если нет, добавьте этот класс. Используйте свойства DOM для навигации и методы для работы с классами.
<ul>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
const list = document.querySelector('ul');
const lastChild = list.input__1;
if (!lastChild.classList.input__2('last-item')) {
lastChild.classList.input__3('last-item');
}
Удаление первого элемента из списка
Удалите первый дочерний элемент из списка `ol`. Используйте методы DOM для навигации и удаления элементов.
<ol>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ol>
const list = document.querySelector('ol');
const firstChild = list.input__1;
list.input__2(firstChild);
Добавление элемента перед последним элементом списка
Создайте новый элемент списка `li` с текстом 'Новый элемент' и добавьте его в конец списка `ul`, но перед последним существующим элементом. Используйте методы DOM для создания, навигации и вставки элементов.
<ul>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
const list = document.querySelector('ul');
const newLi = document.input__1('li');
newLi.input__2 = 'Новый элемент';
const lastChild = list.input__3;
list.input__4(newLi, lastChild);
Замена первого элемента списка изображением
Найдите первый элемент списка `ul` и замените его на изображение `img` с `src` 'https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike-300x300.png'. Используйте методы DOM для создания, навигации и замены элементов.
img { width: 50px; height: 50px; }
<ul>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
const list = document.querySelector('ul');
const firstChild = list.input__1;
const newImg = document.input__2('img');
newImg.src = 'https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike-300x300.png';
list.input__3(newImg, firstChild);
Клонирование и добавление первого элемента в конец списка
Клонируйте первый дочерний элемент списка `ul` и добавьте его в конец этого же списка. Используйте методы DOM для клонирования и добавления элементов.
<ul>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
const list = document.querySelector('ul');
const firstChild = list.input__1;
const clonedChild = firstChild.input__2(true);
list.input__3(clonedChild);
Перемещение последнего элемента списка в начало
Найдите последний дочерний элемент списка `ol` и переместите его в начало списка, сделав его первым дочерним элементом. Используйте методы DOM для навигации и перемещения элементов.
<ol>
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ol>
const list = document.querySelector('ol');
const lastChild = list.input__1;
const firstChild = list.input__2;
list.input__3(lastChild, firstChild);
Изменение атрибута src у первого изображения в блоке
Найдите первый элемент `img` внутри блока `div` с классом 'image-container' и измените его атрибут `src` на 'https://naytikurs.ru/assets/uploads/2025/03/naskolko-vas-legko-obmanut-v-internete-300x300.png'. Используйте методы DOM для навигации и изменения атрибутов.
<div class="image-container">
<img src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike2-300x300.png" alt="Image 1">
<img src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike3-300x300.png" alt="Image 2">
</div>
const container = document.querySelector('.image-container');
const firstImage = container.input__1;
firstImage.input__2('src', 'https://naytikurs.ru/assets/uploads/2025/03/naskolko-vas-legko-obmanut-v-internete-300x300.png');