无法将输入追加到DOM

时间:2019-11-19 20:11:39

标签: javascript dom input

我必须仅使用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。

我在做什么错?

1 个答案:

答案 0 :(得分:1)

执行代码时,不一定要加载主体。最好先等待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为您提供了有关其工作原理的更多详细信息。