javascript - 追加子项时出错

标签 javascript arrays

我有以下非常简单的代码:

<html>
<head>
  <script type="text/javascript" >

    function showAlert(){
      alert("I am clicked");
    }

    function one(){
      var a1 = [1,2,3];
      for (var i=0;i<a1.length;i++) {
        var p = document.createElement('p');
        p.innerHTML = a1[i];
        p.onclick = showAlert;
        document.body.appendChild(p);
      }

      console.log("I am called");
    }

    one();   
  </script>
</head>
</html>

我收到以下错误:未捕获类型错误:无法读取 null 的属性“appendChild”。谁能告诉我,我哪里错了?我正在 Chrome 中进行测试。

最佳答案

document.body.appendChild在定义主体之前运行,因此 document.body仍然是null .

将此脚本移至 <body></body> 下或延迟执行:

window.addEventListener("load", function () { /* we're ready */ });

关于javascript - 追加子项时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23763276/

相关文章:

java - 比较和删除列表和数组java中不存在的元素

javascript - 如何在鼠标滚动上加载消息?

php - 如何使用 PHP 的 mail() 函数发送电子邮件

javascript - 在 argv[2] NodeJs 之后连接参数

javascript - someFunction.Prototype.constructor 与 someFunction.constructor

c - 传递结构数组

c# - 如何从两个字节数组中找到匹配的 8 字节 block 的起始和结束索引

javascript - .js 文件 "include"可以是另一个 .js 文件吗

javascript - Vue.js + Chartist : Using charts in a component

javascript - 未捕获的类型错误 : Cannot read property 'getSelected' of undefined (Chrome-Extension )