我正在使用常规 JS(我知道这不是最好的,但我是初学者)
所以我正在为 Canvas 项目编写代码。然而,当使用 getContext() 函数时,JS 控制台会显示
Uncaught TypeError: canvas.getContext is not a function at master.js:4
我环顾四周,发现没有任何东西可以解决我的问题。
var canvas = document.getElementsByClassName('myCanvas');
console.log(canvas);
var context = canvas.getContext('2d');
console.log(context);
HTML 是这样的:
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="master.js" charset="utf-8"></script>
<link rel="stylesheet" href="master.css">
</head>
<body>
<canvas class="myCanvas">Your browser doesn't support HTML canvas</canvas>
</body>
</html>
有人知道我做错了什么吗?
最佳答案
getElementsByClassName
返回一个元素数组。因此,它没有您正在寻找的方法。请尝试以下操作:
var canvas = document.getElementsByClassName('myCanvas')[0];
console.log(canvas);
var context = canvas.getContext('2d');
console.log(context);
您的代码也存储在 HTML 头中,因此不会找到您的 canvas 元素。要么把你的 <script>
HTML 中的标记 <body>
在 document.onload
中标记或设置函数如下:
document.onload = function() {
var canvas = document.getElementsByClassName('myCanvas')[0];
console.log(canvas);
var context = canvas.getContext('2d');
console.log(context);
}
关于javascript - GetContext() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43403456/