
В этом тренажере вы попрактикуетесь заменять одни HTML-элементы другими с помощью JavaScript. Вам будут представлены различные сценарии, от простых до более сложных, где потребуется манипулировать DOM-деревом, заменяя существующие элементы новыми. Каждое задание включает в себя готовый HTML-код и JavaScript-код с пропусками, которые вам нужно будет заполнить. После ввода кода вы сможете сразу увидеть результат своих действий. Это поможет вам лучше понять, как работает замена элементов и как применять полученные знания на практике.
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Замена простого текста
Замените текст внутри абзаца `<p>` с идентификатором "myParagraph" на новый текст "Это новый текст!". Используйте подходящий метод JavaScript для доступа к элементу и изменения его содержимого.
<p id="myParagraph">Исходный текст</p>
document.input__1("myParagraph").input__2 = "Это новый текст!";
Замена изображения
Замените изображение с идентификатором "myImage" на новое изображение. Используйте другую картинку из предложенных URL.
<img id="myImage" src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike2-300x300.png" alt="Старое изображение">
document.getElementById("myImage").input__1 = "https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike3-300x300.png";
Замена элемента div на span
Замените элемент `<div>` с идентификатором "myDiv" на новый элемент `<span>` с текстом "Это новый span!".
<div id="myDiv">Это старый div</div>
let newSpan = document.input__1('span');
newSpan.input__2 = "Это новый span!";
let oldDiv = document.getElementById("myDiv");
let parent = oldDiv.input__3;
parent.input__4(newSpan, input__5);
Замена элемента списка
Замените второй элемент списка (`<li>`) в неупорядоченном списке (`<ul>`) с идентификатором "myList" на новый элемент списка с текстом "Новый элемент списка".
<ul id="myList">
<li>Первый элемент</li>
<li>Второй элемент</li>
<li>Третий элемент</li>
</ul>
let newList = document.getElementById("myList");
let newItem = document.input__1("li");
newItem.textContent = "Новый элемент списка";
let oldItem = newList.input__2input__3;
newList.replaceChild(newItem, oldItem);
Замена нескольких элементов
Замените все элементы `<p>` внутри `<div>` с идентификатором "container" на элементы `<h1>` с тем же текстом.
<div id="container">
<p>Параграф 1</p>
<p>Параграф 2</p>
<p>Параграф 3</p>
</div>
let container = document.getElementById("container");
let paragraphs = container.input__1('p');
for (let i = 0; i < paragraphs.length; i++) {
let newHeading = document.input__2('h1');
newHeading.textContent = paragraphs[i].input__3;
paragraphs[i].parentNode.replaceChild(newHeading, paragraphs[i]);
}
Замена атрибута class
Замените класс "old-class" у элемента с идентификатором "myElement" на класс "new-class".
.old-class { color: red; }
.new-class { color: blue; }
<div id="myElement" class="old-class">Этот текст должен стать синим</div>
document.getElementById("myElement").input__1 = "new-class";
Замена с использованием innerHTML
Замените всё содержимое элемента с id="container" на новый HTML-код: `<p>Новый параграф</p>`.
<div id="container">
<p>Старый параграф</p>
<span>Старый span</span>
</div>
document.getElementById("container").input__1 = "<p>Новый параграф</p>";
Замена элемента с сохранением обработчиков
Замените кнопку с id="myButton" на новую кнопку с тем же текстом и обработчиком события `click`. Обработчик должен выводить сообщение "Клик!" в консоль.
<button id="myButton">Нажми меня</button>
let newButton = document.createElement('button');
newButton.textContent = "Нажми меня";
newButton.input__1('click', function() {
console.log('Клик!');
});
let oldButton = document.getElementById('myButton');
oldButton.parentNode.replaceChild(newButton, oldButton);
Замена содержимого таблицы
Замените содержимое ячейки таблицы (второй строки, второй ячейки) в таблице с id="myTable" на текст "Новые данные".
<table id="myTable">
<tr>
<td>Ячейка 1,1</td>
<td>Ячейка 1,2</td>
</tr>
<tr>
<td>Ячейка 2,1</td>
<td>Ячейка 2,2</td>
</tr>
</table>
let table = document.getElementById("myTable");
let cell = table.rows[input__1].cells[input__2];
cell.textContent = "Новые данные";