我正在尝试计算用户的输入,但是当我尝试快速添加时,它输出 NaN = 而不是实际结果
用户应该能够单击按钮进行数学运算,问题是我的代码在用户进行数学运算之前无法获得用户输入
e.g。 = 用户输入:1 + 4; 我的代码无法获得1或4而无法进行数学
以下是我的尝试:
代码段:
var buttons = document.getElementsByClassName("buttons")[0];
buttons.onclick = (element) => {
if (element.target.className != "buttons") {
if (element.target.innerHTML == "=") {
for (var i = 0; i < result.innerHTML.length; i++) {
if (buttons.innerHTML = "+") {
result.innerHTML = element.target.value + i;
}
}
}
result.innerHTML += element.target.innerHTML;
console.log("User: " + element.target.innerHTML);
}
}
<div class="result">
</div>
<div class="buttons">
<div>←</div>
<div>C</div>
<div>%</div>
<div>/</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>x</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>-</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>+</div>
<div>0</div>
<div>.</div>
<div class="equal">=</div>
</div>
我无法编辑HTML并使用jQuery。
答案 0 :(得分:0)
因此,问题在于,当您将元素中包含的文本添加到其他元素中包含的文本时,结果不是数字NaN。嗯,最后我检查了在字符串上做数学不会产生数字。也许我们应该尝试一些javascript的字符串解析函数来设计产生数字? parseInt
parseInt(result.innerHTML, 10) += parseInt(element.target.innerHTML);