无法调用null的方法'appendChild'

时间:2013-12-12 11:16:40

标签: javascript

我的问题需要一些帮助; Chrome似乎不喜欢运行此代码,但在Firefox上它可以运行:

function createContext(width, height) {
    var canvas = document.createElement('canvas');
    canvas.id = "1";
    canvas.width = width;
    canvas.height = height;
    document.body.appendChild(canvas);
    return canvas.getContext('2d');
}

3 个答案:

答案 0 :(得分:1)

在调用你的函数之前,你必须等待document.body实际存在。

最简单的方法是在HTML标记的末尾调用此代码,而不是在<head>

中调用

答案 1 :(得分:0)

您还应该调用createContext()函数。小提琴:http://jsfiddle.net/gXm8L/

答案 2 :(得分:0)

也许你可以试试这个 -

window.onload=function(){
    createContext(100, 200);
};

function createContext(width, height) {
    var canvas = document.createElement('canvas');
    canvas.id = "1";
    canvas.width = width;
    canvas.height = height;
    document.body.appendChild(canvas);
    return canvas.getContext('2d');
}

检查这个小提琴 - http://jsfiddle.net/j4c7U/82/