我正在尝试使用Javascript构建一个简单的计算器,并且我在清除显示内容时遇到问题。
有人可以查看我的代码并让我知道它为什么不起作用。
为什么不将显示值设置为空字符串。我究竟做错了什么?坦克你们。
function testing(button){
var x = button.value;
document.getElementById("display").innerHTML+=x;
}
function clear() {
document.getElementById("display").innerHTML = "";
}
<body>
<input type="button" id="one" value="1" onClick="testing(this)">
<input type="button" id="one" value="2" onClick="testing(this)">
<input type="button" id="one" value="3" onClick="testing(this)">
<input type="button" id="clear" value="clear" onClick="clear()">
<h1 id="display"></h1>
</body>
答案 0 :(得分:6)
您的方法名称为conflicting with the id value,只需将其更改为clear1
即可。
function testing(button){
var x = button.value;
document.getElementById("display").innerHTML+=x;
}
function clear1(){
document.getElementById("display").innerHTML = "";
}
<body>
<input type="button" id="one" value="1" onClick="testing(this)">
<input type="button" id="one" value="2" onClick="testing(this)">
<input type="button" id="one" value="3" onClick="testing(this)">
<input type="button" id="clear" value="clear" onClick="clear1()">
<h1 id="display"></h1>
</body>
答案 1 :(得分:1)
问题是有一个document.clear函数优先于你的原始调用。您可以通过在控制台中键入document.clear
来测试这一点。
尝试将您的功能重命名为clearDisplay。
function testing(button){
var x = button.value;
document.getElementById("display").innerHTML+=x;
}
function clearDisplay(){
document.getElementById("display").innerHTML = "";
}
&#13;
<body>
<input type="button" id="one" value="1" onClick="testing(this)">
<input type="button" id="one" value="2" onClick="testing(this)">
<input type="button" id="one" value="3" onClick="testing(this)">
<input type="button" id="clearDisplay" value="clear" onClick="clearDisplay()">
<h1 id="display"></h1>
</body>
&#13;