Управление элементами на странице. DOM, часть 1

DOM — это страница глазами JavaScript. Находим элементы и меняем их текст, HTML и стили.

📋 Заданий: 4✅ С автопроверкой: 4✨ Новых: 3

🌳Свойства и методы DOM-дерева

Всё, что написано ЗАГЛАВНЫМИ буквами, — заранее выбранный элемент DOM-дерева

Как вызватьЧто делает
document.allHTML-коллекция со всеми элементами на странице
document.titleЗаголовок (title) документа
document.head, document.bodyHTML выбранной части
document.URLСсылка в адресной строке
document.formsВсе формы в документе
ELEMENT.innerHTMLИзменить HTML элемента
ELEMENT.textContentИзменить текст у элемента
document.getElementById('ID')Найти элемент по id (вернёт 1 элемент)
document.getElementsByClassName('CLASS')Найти элементы по классу (вернёт коллекцию)
document.getElementsByTagName('TAG')Найти элементы по тегу (вернёт коллекцию)
document.querySelector('SELECTOR')Найти элемент по селектору (вернёт 1 элемент): .class, #id, tag
document.querySelectorAll('SELECTOR')Найти все элементы по селектору
ELEMENT.styleИзменить стиль: element.style.color = 'red'
ELEMENT.parentNodeРодительский элемент
ELEMENT.childrenВсе вложенные в элемент теги

🛠️Задания

1

Страница по заказу

среднеавтопроверка

На странице есть заголовок и абзац с текстом ERROR. Спроси у пользователя по очереди: текст заголовка, цвет заголовка, текст абзаца и цвет абзаца — и поменяй их. Для изменения текста и цвета напиши функции text(element, t) и style(element, s).

Шаг 1Шаг 2Шаг 3Шаг 4Результат
Показать ответ (сначала попробуй сам!)
let heading = document.querySelector('h1'); 
let para = document.querySelector('p'); 

function text(element, t) {
    element.textContent = t
}

function style(element, s) {
    element.style.color = s
}

let textInput = prompt('Введите текст для заголовка: ');
text(heading, textInput);

textInput = prompt('Введите цвет для заголовка: ');
style(heading, textInput);

textInput = prompt('Введите текст для параграфа: ');
text(para, textInput);

textInput = prompt('Введите цвет для параграфа: ');
style(para, textInput);

Открыть готовую страницу с ответом ↗

2

Список из массива

легконовоеавтопроверка

Выведи фрукты из массива на страницу: для каждого создай пункт <li> внутри <ul id="list">. Используй цикл — фруктов может стать больше!

Подсказка

Проще всего так: list.innerHTML += '<li>' + fruits[i] + '</li>'

Показать ответ (сначала попробуй сам!)
let fruits = ['Яблоко', 'Банан', 'Вишня']
let list = document.querySelector('#list')

for (let i = 0; i < fruits.length; i++) {
    list.innerHTML += '<li>' + fruits[i] + '</li>'
}
3

Покрась всех

легконовоеавтопроверка

Найди все абзацы с классом .item через querySelectorAll и сделай их зелёными (green). Первый из них сделай ещё и жирным.

Показать ответ (сначала попробуй сам!)
let items = document.querySelectorAll('.item')

for (let i = 0; i < items.length; i++) {
    items[i].style.color = 'green'
}
items[0].style.fontWeight = 'bold'
4

Сколько пунктов в меню?

легконовоеавтопроверка

Посчитай с помощью JavaScript, сколько пунктов li в меню, и выведи Всего пунктов: … в консоль, а ещё поменяй заголовок страницы (document.title) на Меню готово.

Показать ответ (сначала попробуй сам!)
let items = document.querySelectorAll('.menu li')
console.log('Всего пунктов: ' + items.length)
document.title = 'Меню готово'