Возникли проблемы при отображении входного значения в упорядоченном списке - PullRequest
0 голосов
/ 16 марта 2020

У меня проблемы с созданием кнопки, которая поместит текст, введенный из поля, в элемент списка, который находится внутри упорядоченного списка. Мой профессор попросил, чтобы я использовал только createElement, textContent и appendChild (также не могу использовать jQuery), поэтому мои варианты перемещения текста из ввода в li крайне ограничены. Вот что у меня есть:

let main = function() {

  if (this.id == "btn1") {
    let listDiv = document.getElementById('div');
    let olCreator = document.createElement('OL');
    div.appendChild(olCreator).setAttribute("id", "ol");
  }

if (this.id == "btn2") {
  let olGrab = document.getElementById('OL');
  let liCreator = document.createElement('LI');
  ol.appendChild(liCreator);
  let inputText = document.getElementById("inputBox").textContent;
  let liDone = document.getElementById('li').appendChild(inputText);
}
};

Я почти уверен, что не хочу присваивать элементу li идентификатор, потому что если я это сделаю, то введенный текст будет go в каждом элементе li и это было бы плохо. На данный момент консоль сообщает мне об этом, когда я нажимаю кнопку в моем документе HTML:

Uncaught TypeError: Невозможно прочитать свойство 'appendChild' с нулевым значением
в HTMLButtonElement.main

1 Ответ

0 голосов
/ 16 марта 2020

Вы вызываете appendChild для элементов, которые не существуют или имеют значение null.

Вместо

div.appendChild(olCreator).setAttribute("id", "ol");

try

lastDiv.appendChild(olCreator).setAttribute("id", "ol");

То же во втором условии изменить ol.appendChild на olGrab.appendChild

...