我有:

<!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;

10-02 18:24