我有:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript index</title>
</head>
<body id="body">
<input name="colorButton" type="button" value="Change background color" />
<script>
"use strict";
function setBGColor() {
document.body.style.backgroundColor = "blue";
}
document.colorButton.onclick = setBGColor;
</script>
</body>
</html>
如您所见,一旦按下按钮,我将尝试更改主体的背景颜色。但是我收到以下错误:
Uncaught TypeError: Cannot set property 'onclick' of undefined
最佳答案
没有文档的称为colorButton
的属性:
document.querySelector('input[name="colorButton"]').onclick = setBGColor;
您需要获取
input
元素(因为您具有名称,请使用元素名称)。或添加一个ID:
<input name="colorButton" id="colorButton" type="button" value="Change background color" />
然后:
document.getElementById('colorButton').onclick = setBGColor;