@MargoKomilfo

Не работает код Js — как сделать, чтобы при нажатии на кнопку всегда выполнялось добавление элементов на html — страницу?

btnAdd1.addEventListener("click", function() {
  var newDiv = document.createElement("div");
  var divContent =`<input class="expenses-item" type="text" placeholder="Наименование"><input class="expenses-item" type="text" placeholder="Цена">`;
  newDiv.appendChild(divContent);
  document.getElementById("addel1").appendChild(newDiv);
});
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
в переменной var divContent у вас строка текста (пусть и HTML).
в следующей строке appendChild() ожидает не строку текста, а HTML узел (Node) – его можно создать как у вас выше document.createElement().

В общем два пути:
1. Создавать HTML, но тогда приклеивать его через element.innerHTML = myHTML;
2. Создавать узлы и их через appendChild() Но у вас требуется два инпута вставить, с множеством атрибутов. На чистом JS это займет несколько строк:
spoiler
var input = document.createElement('input');
input.type = "text";
input.placeholder = "Наименование";
input.className = "expenses-item";
newDiv.appendChild(input);

input = document.createElement('input');
input.type = "text";
input.placeholder = "Цена";
input.className = "expenses-item";
newDiv.appendChild(input);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
27 нояб. 2024, в 17:41
2000 руб./за проект
27 нояб. 2024, в 17:26
1 руб./за проект
27 нояб. 2024, в 17:17
3000 руб./за проект