我有一个index.html文件,
<html>
<head>
<script src="2-4.js"></script>
</head>
</html>
和具有2-4.js文件的
var div,
container = document.getElementById('container')
for (var i = 0; i < 5; i++) {
div = document.createElement('div')
div.onclick = function() {
alert('This is box #' + i)
}
container.appendChild('div')
}
它们在同一文件夹中。当我在Chrome中打开index.html并进行检查时,在控制台中看到“未捕获的TypeError:无法在2-4.js:11处读取null的'appendChild'属性”。我查找了一些涉及该错误的SO问题,但没有找到帮助。有人知道发生了什么吗?我运行程序错误吗?
答案 0 :(得分:1)
我认为您正在尝试这样做:
<html>
<head>
</head>
<body><div id="container"></div></body>
<script>
var container = document.getElementById('container');
for (var i = 0; i < 5; i++) {
var div = document.createElement('div');
div.onclick = function() {
alert('This is box #' + i);
}
container.appendChild(div);
}
</script>
</html>
基本上,该消息表明null(例如,没有对象引用)没有属性或方法“ appendChild”,这很明显,因为document.getElementById('container')将不返回任何内容,因为它不能找到这样的元素,仅仅是因为它不存在...