【问题标题】:Having Trouble Displaying Input Value in Ordered List在有序列表中显示输入值时遇到问题
【发布时间】:2020-03-16 01:16:05
【问题描述】:

我无法制作一个按钮,该按钮将从框中输入的文本放入有序列表中的列表元素。我的教授要求我只使用 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 文档中的按钮时,控制台会告诉我:

未捕获的类型错误:无法读取 null 的属性“appendChild”
在 HTMLButtonElement.main

【问题讨论】:

    标签: javascript google-chrome firefox atom-editor


    【解决方案1】:

    您正在对不存在或值为 null 的元素调用 appendChild。

    代替

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

    试试

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

    第二个条件相同,将ol.appendChild改为olGrab.appendChild

    【讨论】:

      猜你喜欢
      • 2021-12-22
      • 1970-01-01
      • 2018-04-14
      • 2023-02-05
      • 1970-01-01
      • 2021-05-14
      • 2020-04-29
      • 2019-03-11
      • 2020-09-14
      相关资源
      最近更新 更多