无法更改函数内的元素属性

时间:2014-06-18 12:13:02

标签: javascript

我试图在javascript中构建一个简单的绘图应用程序。一个要求是根据页面调整大小到画布,无论如何,这是对问题的简化再现:

var mainDiv = document.getElementById("fencemaker");
var mainDivCS = window.getComputedStyle(mainDiv);
var topCanvas = document.createElement("canvas"); 
topCanvas.style.backgroundColor = "gray"; 
mainDiv.appendChild(topCanvas);     

someFunction();

function someFunction() {
    topCanvas.Width = 100;
    topCanvas.Height = 100;
}

如果我在创建元素之后立即进行更改,但是在函数内部它们什么都不做,我可以更改宽度和高度。如果我把"警告(topCanvas.width);"在更改值后的函数中,它返回正确的值(100)但仍然绘制错误(默认为300)。怎么回事?

在opera 12和chrome 35中测试

1 个答案:

答案 0 :(得分:1)

您只需要为widthheight使用小写字母。所以你应该:

function someFunction() {
    topCanvas.width = 100;
    topCanvas.height = 100;
}

请参阅此jsfiddle:http://jsfiddle.net/5Cc47/