我试图在 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”
但我不知道为什么?
我试图在 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”
但我不知道为什么?
您需要将代码包装到 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上的示例。
除了按照 Igor 的建议更好地包装在 onload() 中之外,您不想先将 new_div 添加到文档中吗?
document.body.insertBefore(new_div, document.body.firstChild);
尝试使用 jquery document.ready 事件