如果var raster = document.querySelector ("canvas")
位於HTML文件中,則會定義並聲明柵格。不過,我想在我的js文件中包含所有內容,只有HTML中的函數調用。當我嘗試將var raster...
放入.js文件時,它會不斷彈出null
。document.querySelector在.js文件中不起作用
有沒有什麼辦法讓document.querySelector
指向關聯的HTML文件?
// this doesn't work
//var raster = document.querySelector ("canvas").getContext ("2d");
function drawSquare (w,h) {
raster.fillStyle = "blue";
raster.fillRect (0,0,w,h);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>IFS</title>
<script src="IFS.js"></script>
</head>
<body>
<canvas width="500" height="500"></canvas>
<script>var raster = document.querySelector ("canvas").getContext ("2d");
drawSquare (500,500);</script>
</body>
</html>
什麼是IFS.js? – Ouroborus
對不起。最上面的代碼塊是來自文件IFS.js的複製粘貼。底部的塊是IFS.html。 – failure
您的腳本文件位於頭部,元素位於主體中,當您將JavaScript放在頭部時,元素在嘗試在主體中查找元素時尚不存在。 – adeneo