Javascript计算器简单明了的功能无效

时间:2017-10-13 07:17:34

标签: javascript html calculator innerhtml

我正在尝试使用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>

2 个答案:

答案 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。

&#13;
&#13;
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;
&#13;
&#13;