0

「アプリ」のIDを持つ新しいdivをDOMに挿入しようとしています

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

これにより、コンソールにエラーが表示されます。

キャッチされていない TypeError: 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

jquerydocument.readyイベントを使用してみてください

于 2012-10-12T12:12:41.543 に答える