Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Че тут не так с append child?

Михаил Кирьянов Мудрец (12123), на голосовании 6 месяцев назад
всем привет!
             let g = document, h, l = document.createElement('div'), 
f = document.createElement('span'),
b = document.createElement('img');


function j(r, i) {
b.setAttribute("src", i);
f.innerHTML = r;
}
j("Вы установили тёмную тему!", "Telegram-logo.png");
function c(e) {
e.addEventListener("click", g);
}
console.log(b, f);
document.body.appendChild(b, f);
код набросок. трабл в последней строке, ошибка this.html:31 Uncaught TypeError: Cannot read properties of null (reading 'appendChild')
че делатб?
Голосование за лучший ответ
Dlazder Мудрец (16875) 7 месяцев назад
appendChild вроде как один аргумент принимает...
frontDev Мастер (1558) 7 месяцев назад
Судя по сообщению об ошибке, проблема заключается в том, что вы пытаетесь вызвать AppendChild для document.body, но document.body имеет значение null.

Обычно это происходит, если скрипт запускается до полной загрузки DOM. Чтобы это исправить, вам нужно дождаться загрузки DOM, прежде чем обращаться к элементам или изменять их.
Несколько способов сделать это:

1) Обернуть код в обработчик событий DOMContentLoaded:
 document.addEventListener('DOMContentLoaded', () => { 
let g = document, h, l = document.createElement('div'),
// остальной код

document.body.appendChild(b, f);
})
2) Переместить <script> непосредственно перед закрывающим тегом </body>.
Ключевым моментом является то, что DOM должен быть полностью загружен, прежде чем пытаться получить доступ/изменить такие элементы, как document.body. Ожидание DOMContentLoaded гарантирует, что документ готов.
Михаил КирьяновМудрец (12123) 7 месяцев назад
он как бы в хеад
frontDev Мастер (1558) Михаил Кирьянов, Надо поставить перед закрывающим тегом <body>
Петр Алексеевич Оракул (82071) 7 месяцев назад
Данный код не подлежит прочтению с такими названиями переменных. Это пишут только для себя и никому не показывают
Михаил КирьяновМудрец (12123) 7 месяцев назад
а че так сложно читать?)
Похожие вопросы