0

我试图在 DOM 中插入一个新的 div,其 id 为“app”

var new_div = document.createElement("div");
var app_div = document.getElementById("app");
document.body.insertBefore(new_div, app_div);​

这在控制台中给了我一个错误:

未捕获的类型错误:无法调用 null 的方法“insertBefore”

但我不知道为什么?

4

3 回答 3

1

您需要将代码包装到 window.onload 处理程序:

window.onload = function() {
    var new_div = document.createElement("div");
    var app_div = document.getElementById("app");
    document.body.insertBefore(new_div, app_div);
}

jsFiddle上的示例。

于 2012-10-12T12:13:47.333 回答
0

除了按照 Igor 的建议更好地包装在 onload() 中之外,您不想先将 new_div 添加到文档中吗?

document.body.insertBefore(new_div, document.body.firstChild);
于 2012-10-12T12:20:59.133 回答
-1

尝试使用 jquery document.ready 事件

于 2012-10-12T12:12:41.543 回答