
В этом уроке вы попрактикуетесь в управлении атрибутом `disabled` для различных элементов форм с помощью JavaScript. Вы научитесь делать элементы интерактивными или неактивными, что является важным аспектом управления пользовательским интерфейсом. Каждое задание представляет собой готовую HTML-структуру, где вам нужно будет дописать JavaScript-код, чтобы добавить или удалить атрибут `disabled` в зависимости от условий задания.
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Получение значения атрибута.
- Установка значения атрибута.
- Проверка наличия атрибута.
- Удаление атрибута.
- Работа с `data-*` атрибутами.
- Изменение атрибута `src` у изображения.
- Изменение атрибута `href` у ссылки.
- Добавление/удаление атрибута `disabled` у элемента формы.
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Включение кнопки
Дана кнопка, которая изначально неактивна (имеет атрибут `disabled`). Ваша задача - написать JavaScript-код, который убирает атрибут `disabled` у кнопки, делая её кликабельной. После выполнения кода кнопка должна стать активной, и на неё можно будет нажать.
<button id="myButton" disabled>Нажми меня</button>
document.getElementById("myButton").input__1("disabled");
Отключение кнопки
Дана активная кнопка. Напишите JavaScript-код, который добавляет атрибут `disabled` к кнопке, делая её неактивной. После выполнения кода кнопка должна стать некликабельной.
<button id="myButton">Нажми меня</button>
document.getElementById(input__1).setAttribute("disabled", input__2);
Переключение состояния
Дана кнопка. Напишите JavaScript-код, который переключает состояние `disabled` кнопки: если кнопка активна, делает её неактивной, и наоборот. Используйте свойство `disabled`.
<button id="myButton">Нажми меня</button>
const button = document.getElementById("myButton");
button.disabled = input__1button.disabled;
Отключение поля ввода
Дано текстовое поле ввода. Напишите JavaScript-код, который делает это поле недоступным для редактирования (добавляет атрибут `disabled`).
<input type="text" id="myInput" value="Текст">
document.getElementById(input__1).input__2 = input__3;
Включение поля ввода по клику
Дано текстовое поле, которое изначально недоступно, и кнопка. Напишите JavaScript-код, который делает поле доступным для редактирования при нажатии на кнопку.
<input type="text" id="myInput" value="Текст" disabled>
<button id="enableInput">Включить поле</button>
const input = document.getElementById("myInput");
const button = document.getElementById("enableInput");
button.addEventListener("click", () => {
input.input__1 = input__2;
});
Отключение кнопки по таймеру
Дана кнопка. Напишите JavaScript-код, который делает кнопку неактивной через 5 секунд после загрузки страницы.
<button id="myButton">Нажми меня</button>
setTimeout(() => {
document.getElementById("myButton").input__1 = input__2;
}, input__3);
Управление несколькими элементами
Даны две кнопки и два текстовых поля. Напишите JavaScript-код, который при нажатии на первую кнопку делает первое поле недоступным, а второе - доступным. При нажатии на вторую кнопку - наоборот.
<input type="text" id="input1" value="Поле 1">
<input type="text" id="input2" value="Поле 2" disabled>
<button id="button1">Кнопка 1</button>
<button id="button2">Кнопка 2</button>
const input1 = document.getElementById("input1");
const input2 = document.getElementById("input2");
const button1 = document.getElementById("button1");
const button2 = document.getElementById("button2");
button1.addEventListener("click", () => {
input1.disabled = true;
input2.input__1 = input__2;
});
button2.addEventListener("click", () => {
input2.disabled = true;
input1.input__3 = input__4;
});
Динамическое добавление и удаление
Дана кнопка. При первом нажатии на кнопку она должна стать disabled. При втором нажатии disabled должен удалиться.
<button id="myBtn">Click Me</button>
const btn = document.getElementById('myBtn');
btn.addEventListener('click', function() {
if (btn.input__1('disabled')) {
btn.input__2('disabled');
} else {
btn.input__3('disabled', 'disabled');
}
});