
В этом уроке вы сосредоточитесь на проверке наличия атрибутов у HTML элементов с помощью JavaScript. Умение проверять атрибуты позволяет вашему коду адаптироваться к различным состояниям элементов и динамически изменять поведение веб-страницы. Вы будете работать с различными типами элементов и атрибутов, используя JavaScript для определения, присутствует ли определенный атрибут у элемента. Задания будут постепенно усложняться, начиная с простых проверок и заканчивая более комплексными сценариями, где проверка атрибутов влияет на логику работы вашего JavaScript кода. Внимательно читайте описания заданий и используйте подсказки, если столкнетесь с трудностями."
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Проверка наличия атрибута 'id'
Необходимо проверить, есть ли у параграфа с классом 'text-block' атрибут 'id'. Выведите в консоль 'Атрибут id присутствует', если атрибут есть, и 'Атрибут id отсутствует', если атрибута нет.
<div class="container">
<p class="text-block">Это параграф текста.</p>
</div>
const paragraph = document.input__1(".text-block");
if (paragraph.input__2("id")) {
console.log("Атрибут id присутствует");
} else {
console.log("Атрибут id отсутствует");
}
Проверка наличия атрибута 'disabled' у кнопки
Проверьте, есть ли у кнопки атрибут 'disabled'. Если атрибут 'disabled' присутствует, удалите его, чтобы кнопка стала активной.
<button id="myButton" disabled>Нажми меня</button>
const button = document.input__1("myButton");
if (button.input__2("disabled")) {
button.input__3("disabled");
}
Проверка наличия атрибута 'src' у изображения
Проверьте, есть ли у изображения с id 'logo' атрибут 'src'. Если атрибут 'src' отсутствует, установите его значение на одну из предложенных картинок.
<img id="logo">
const image = document.input__1("logo");
if (!image.input__2("src")) {
image.input__3("src", "https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike-300x300.png");
}
Условное добавление класса при наличии атрибута
Проверьте, есть ли у элемента с классом 'card' атрибут 'data-active'. Если атрибут присутствует, добавьте элементу класс 'active-card'.
.active-card {
border: 2px solid blue;
}
<div class="card" data-active="true">
<p>Карточка</p>
</div>
const card = document.input__1(".card");
if (card.input__2("data-active")) {
card.classList.input__3("active-card");
}
Проверка и получение значения атрибута
Проверьте, есть ли у элемента с id 'link' атрибут 'href'. Если атрибут есть, выведите его значение в консоль.
<a id="link" href="https://example.com">Ссылка</a>
const link = document.input__1("link");
if (link.input__2("href")) {
const hrefValue = link.input__3("href");
console.log(hrefValue);
}
Изменение текста в зависимости от наличия атрибута
Проверьте, есть ли у кнопки с id 'statusButton' атрибут 'data-active'. Если атрибут есть, измените текст кнопки на 'Активно', иначе на 'Неактивно'.
<button id="statusButton" data-active="true">Статус</button>
const button = document.input__1("statusButton");
if (button.input__2("data-active")) {
button.input__3 = "Активно";
} else {
button.input__3 = "Неактивно";
}
Удаление элемента при отсутствии атрибута
Проверьте, есть ли у div элемента с классом 'removable-block' атрибут 'data-visible'. Если атрибут отсутствует, удалите этот div элемент из DOM.
<div class="removable-block">
<p>Этот блок может быть удален.</p>
</div>
const block = document.input__1(".removable-block");
if (!block.input__2("data-visible")) {
block.parentNode.input__3(block);
}
Переключение класса при клике и проверке атрибута
При клике на кнопку с id 'toggleClassButton' проверьте, есть ли у элемента с классом 'target-element' атрибут 'data-highlighted'. Если атрибут есть, удалите класс 'highlight', если нет - добавьте класс 'highlight'.
.highlight {
background-color: yellow;
}
<button id="toggleClassButton">Переключить класс</button>
<div class="target-element">Элемент для выделения</div>
const button = document.input__1("toggleClassButton");
const targetElement = document.input__2(".target-element");
button.addEventListener("click", () => {
if (targetElement.input__3("data-highlighted")) {
targetElement.classList.input__4("highlight");
} else {
targetElement.classList.input__4("highlight");
}
});