我必须仅使用JS而不使用HTML来构建计算器。我正在为数字创建基本的输入字段,但似乎无法将它们附加到DOM。我收到以下错误:

> Uncaught TypeError: Cannot read property 'append' of null.


这是我的代码:

var firstInput = document.createElement('input');
firstInput.setAttribute("type", "text");
firstInput.innerHTML = "";
document.body.append(firstInput);




澄清:有一个HTML文件,我正在研究链接到HTML的外部Javascript文件。但是,它们不会让我从HTML创建元素并使用Javascript来获取它们。我只能使用JS创建Elements。

我究竟做错了什么?

最佳答案

执行代码时,不一定要加载主体。在以任何方式使用DOM之前,等待DOM准备就绪是一个好习惯。

您的脚本应放在HTML主体的最后。



(function() {
  // The DOM will be available here
  var firstInput = document.createElement('input');
  firstInput.setAttribute("type", "text");
  firstInput.innerHTML = "";
  document.body.append(firstInput);
})();





This answer为您提供有关其工作原理的更多详细信息。

10-02 17:49