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]

→ Ссылка