我可以改变背景颜色红色,蓝色以及绿色, 但是当我点击重置按钮时,我在Chrome(浏览器)中收到错误:
btnReset不是函数,
点击重置按钮后如何使所有div空白?
function btnRed() {
document.getElementById("Div1").style.backgroundColor="Red";
}
function btnGreen() {
document.getElementById("Div2").style.backgroundColor="Green";
}
function btnBlue() {
document.getElementById("Div3").style.backgroundColor="Blue";
}
function btnReset() {
document.getElementById("Div1").style.backgroundColor="Black";
document.getElementById("Div2").style.backgroundColor="white";
document.getElementById("Div3").style.backgroundColor="white";
}
#Div1
{
z-index: -2;
border: 1px solid black;
height: 300px;
width: 400px;
}
#Div2
{
z-index: -1;
border: 1px solid black;
width: 300px;
height: 200px;
margin: 50px 0 0 50px;
}
#Div3
{
border: 1px solid black;
width: 200px;
height: 150px;
margin: 23px 0 0 47px;
}
#DivBtn
{
margin-top: 30px;
}
<div id="Div1">
<div id="Div2">
<div id="Div3">
</div>
</div>
</div>
<div id="DivBtn"> <input type="button" id="btnR" value="Red" onclick="btnRed();">
<input type="button" id="btnG" value="Green" onclick="btnGreen();">
<input type="button" id="btnB" value="Blue" onclick="btnBlue();">
<input type="button" id="btnReset" value="Reset" onclick="btnReset()">
</div>
答案 0 :(得分:4)
在html标记上使用id
时要小心,因为它使用id
进行自动var声明。因此,您覆盖了btnReset
函数,btnReset
指向<input>
。
解决方案1:更改id="btnReset"
或function btnReset()
名称!
解决方案2:将您的<script>
移到文档的末尾(就在</body>
结束标记之前,这样您的函数就会覆盖自动声明的var。