
В этом разделе вы попрактикуетесь в добавлении классов элементам HTML, используя JavaScript. Каждое задание представляет собой небольшую задачу, где вам нужно дополнить JavaScript код, чтобы изменить стилизацию элементов на странице. Вы увидите результат своих действий сразу после выполнения кода. Задания начинаются с простых и постепенно усложняются, чтобы помочь вам лучше понять и закрепить материал. Внимательно читайте описания заданий и используйте подсказки, если возникнут трудности.
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Задание 1: Добавление класса к элементу по ID
Добавьте класс "highlight" к параграфу с идентификатором "myParagraph". Класс "highlight" уже определен в CSS и меняет цвет фона элемента.
.highlight {
background-color: yellow;
}
<p id="myParagraph">Это параграф, к которому нужно добавить класс.</p>
document.input__1("myParagraph").classList.input__2("highlight");
Задание 2: Добавление класса к кнопке
Добавьте класс "active" к кнопке, используя `querySelector`. Класс "active" изменяет цвет текста кнопки.
.active {
color: red;
}
<button>Нажми меня</button>
document.input__1('button').classList.input__2('active');
Задание 3: Добавление класса к нескольким элементам
Добавьте класс "bold-text" ко всем элементам списка `li`. Класс "bold-text" делает текст жирным.
.bold-text {
font-weight: bold;
}
<ul>
<li>Пункт 1</li>
<li>Пункт 2</li>
<li>Пункт 3</li>
</ul>
const listItems = document.input__1('li');
listItems.input__2(item => {
item.classList.input__3('bold-text');
});
Задание 4: Добавление класса по условию
Если текст параграфа содержит слово "важно", добавьте ему класс "important". Класс "important" меняет цвет текста на красный.
.important {
color: red;
}
<p id="conditionalParagraph">Этот параграф содержит важное сообщение.</p>
const paragraph = document.input__1('conditionalParagraph');
const text = paragraph.input__2;
if (text.input__3('важно')) {
paragraph.classList.input__4('important');
}
Задание 5: Переключение класса (toggle)
При каждом выполнении кода, класс "toggle-class" должен переключаться у кнопки. Если класса нет - он добавляется, если есть - удаляется. Класс "toggle-class" меняет цвет фона кнопки.
.toggle-class {
background-color: lightblue;
}
<button id="toggleButton">Переключить класс</button>
document.input__1('toggleButton').classList.input__2('toggle-class');
Задание 6: Добавление класса к родительскому элементу
Найдите родительский элемент для кнопки и добавьте ему класс "parent-highlight". Класс "parent-highlight" добавляет границу к элементу.
.parent-highlight {
border: 2px solid green;
}
<div id="parentDiv">
<button>Кнопка</button>
</div>
const button = document.input__1('button');
const parent = button.input__2;
parent.classList.input__3('parent-highlight');
Задание 7: Добавление класса к текущему элементу (this)
Добавьте класс "clicked" к элементу `div` при клике на него. Класс "clicked" изменяет цвет текста.
.clicked {
color: blue;
}
<div id="clickableDiv">Нажми на меня</div>
const divElement = document.input__1('#clickableDiv');
divElement.addEventListener('click', function() {
this.classList.input__2('clicked');
});
Задание 8: Добавление класса с задержкой
Добавьте класс "delayed" к параграфу через 2 секунды после загрузки страницы. Класс "delayed" изменяет размер шрифта.
.delayed {
font-size: 20px;
}
<p id="delayedParagraph">Этот текст изменит размер шрифта через 2 секунды.</p>
setTimeout(function() {
document.input__1('delayedParagraph').classList.input__2('delayed');
}, input__3);