TypeError: element.append is not a function
html
<div id="btn">$</div>
js
const btn = document.getElementsByClassName("btn"); // сама кнопка
const popUp = document.createElement("div"); // создаю элемент div
popUp.setAttribute("class", "pop_up"); // добавляю ему нужный мне класс
popUp.innerHTML = "+1"; // вставляю в него нужный мне текст
btn.append(popUp); // пытаюсь вставить его в кнопку
Как-то так. Я опустил то, как вызывается метод и прочее, т.к. с ними всё в порядке. Скорее всего я совершил очень глупую и очевидную ошибку с добавлением объекта в DOM, но найти её в процессе чтения документации я не смог.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
getElementSByClassName выбирает элементЫ, а не один. Поэтому btn - это коллекция элементов. А в коллекции обращение к элементам происходит по индексу. Поэтому тут не хватает как минимум [0]