我在制作一个按钮时遇到了问题,这个按钮会将输入的文本从一个框中输入到一个列表元素中,这个元素位于有序列表中。我的教授要求我只使用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元素一个id,因为如果我这样做了,输入的文本将进入每个li元素,这是很糟糕的。到目前为止,当我按下HTML文档中的按钮时,控制台会告诉我:
Uncaught :无法读取null的属性“appendChild”
在HTMLButtonElement.main
发布于 2020-03-16 01:49:27
您正在对不存在或值为null的元素调用appendChild。
而不是
div.appendChild(olCreator).setAttribute("id", "ol");试一试
lastDiv.appendChild(olCreator).setAttribute("id", "ol");在第二个条件下,将ol.appendChild更改为olGrab.appendChild
https://stackoverflow.com/questions/60699272
复制相似问题