Поиск соседних элементов (предыдущий, следующий)

Тренажер по работе с HTML DOM на JavaScript для пользователей с начальным и средним уровнем подготовки.

Тренажер JavaScript: Покоряем HTML DOM

В этом разделе вы отработаете на практике навыки навигации по DOM-дереву, используя JavaScript. Вы научитесь находить соседние элементы: предыдущий и следующий. Каждое задание представляет собой небольшую интерактивную задачу, где вам нужно будет дописать JavaScript код, чтобы получить желаемый результат. Внимательно читайте описания заданий и используйте подсказки, если возникают трудности. Удачи в обучении!

Список тем

Найти следующий элемент

Найдите элемент `span` с идентификатором `current` и получите его следующий элемент-сосед. Измените текст этого элемента на 'Следующий элемент'.

HTML
Восстановить HTML
<div id="container"><span>Предыдущий элемент</span><span id="current">Текущий элемент</span><span></span></div>
JavaScript
document.input__1('input__2').input__3.textContent = 'Следующий элемент';
Используйте `document.getElementById()` для поиска элемента и свойство `nextElementSibling` для получения следующего элемента-соседа.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку

Найти предыдущий элемент

Найдите элемент `span` с идентификатором `current` и получите его предыдущий элемент-сосед. Измените цвет текста этого элемента на `blue`.

HTML
Восстановить HTML
<div id="container"><span></span><span id="current">Текущий элемент</span><span>Следующий элемент</span></div>
JavaScript
document.input__1('input__2').input__3.style.color = 'blue';
Используйте `document.getElementById()` для поиска элемента и свойство `previousElementSibling` для получения предыдущего элемента-соседа. Используйте свойство `style` для изменения стиля.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку

Изменить атрибуты соседних элементов

Найдите элемент `div` с идентификатором `center`. Получите его предыдущий и следующий элементы-соседи. Установите атрибут `data-status` равным 'сосед' для обоих.

HTML
Восстановить HTML
<div id="container"><div id="prev">Предыдущий</div><div id="center">Центральный</div><div id="next">Следующий</div></div>
JavaScript
const centerElement = document.input__1('input__2');
centerElement.input__3.input__4('data-status', 'сосед');
centerElement.input__5.input__6('data-status', 'сосед');
Используйте `document.getElementById()` для поиска элемента, свойства `previousElementSibling` и `nextElementSibling` для получения соседей, и метод `setAttribute()` для изменения атрибута.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку

Изменить текст следующего элемента списка

В списке `ul` найдите элемент `li` с текстом 'Пункт 2'. Получите его следующий элемент списка и измените его текст на 'Пункт 3 - изменен'.

HTML
Восстановить HTML
<ul><li>Пункт 1</li><li class="target">Пункт 2</li><li>Пункт 3</li></ul>
JavaScript
const targetElement = document.input__1('.target');
targetElement.input__2.textContent = 'Пункт 3 - изменен';
Используйте `document.querySelector()` для поиска элемента по классу `target`. Используйте свойство `nextElementSibling` и `textContent`.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку

Подсветить предыдущий элемент

Найдите элемент `div` с классом `highlight`. Получите его предыдущий элемент-сосед и установите цвет фона этого элемента на `lightyellow`.

CSS
.item { padding: 10px; border: 1px solid black; margin-bottom: 5px; } .highlight { background-color: lightblue; }
HTML
Восстановить HTML
<div class="item">Элемент 1</div><div class="item highlight">Элемент 2</div><div class="item">Элемент 3</div>
JavaScript
const highlightElement = document.input__1('.highlight');
highlightElement.input__2.style.backgroundColor = 'lightyellow';
Используйте `document.querySelector()` для поиска элемента по классу. Используйте `previousElementSibling` и `style.backgroundColor`.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку

Найти элемент через два шага вперед

Найдите элемент `div` с идентификатором `start`. Получите его следующего элемента-соседа, а затем следующего элемента-соседа от того, что получили. Измените текст этого элемента на 'Нашли!'.

HTML
Восстановить HTML
<div id="container"><div id="start">Старт</div><div>Промежуточный</div><div></div></div>
JavaScript
const startElement = document.input__1('input__2');
startElement.input__3.input__4.textContent = 'Нашли!';
Используйте `document.getElementById()` и свойство `nextElementSibling` дважды.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку

Изменить изображение предыдущего элемента

Найдите элемент `img` с классом `current-image`. Получите его предыдущий элемент-сосед (который тоже `img`). Измените атрибут `src` этого предыдущего элемента на `https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike2-300x300.png`.

HTML
Восстановить HTML
<div id="image-container"><img src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike-300x300.png" alt="Image 1"><img class="current-image" src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike3-300x300.png" alt="Image 2"></div>
JavaScript
const currentImage = document.input__1('.current-image');
currentImage.input__2.input__3('src', 'https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike2-300x300.png');
Используйте `document.querySelector()` для поиска элемента по классу. Используйте `previousElementSibling` и `setAttribute('src', ...)`.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку

Изменить стиль следующего элемента

Найдите элемент `button` с классом `first-button`. Получите его следующий элемент-сосед (который также является `button`). Измените цвет фона этого следующего элемента на `lightgreen`.

CSS
.btn { padding: 8px 15px; margin-right: 5px; }
HTML
Восстановить HTML
<div id="button-container"><button class="btn first-button">Кнопка 1</button><button class="btn">Кнопка 2</button></div>
JavaScript
const firstButton = document.input__1('.first-button');
firstButton.input__2.style.backgroundColor = 'lightgreen';
Используйте `document.querySelector()` для поиска элемента по классу. Используйте `nextElementSibling` и `style.backgroundColor`.
Заполнить ответами все поля
Результат
Лог
Выполнить
Отметить решенным
Показать подсказку
НайтиКурс.Ру
Добавить комментарий