javascript - 如何清除 h1 标签的 innerHTML
问题描述
我只是想制作一个简单的基于手机的计算器。到目前为止,我已经设法显示按下的数字达到一定的字符限制。我正在尝试使它清除用作显示的 h1 标记中的数字。
我试过使用.innerHTML = ""
,但这不起作用。我应该如何解决这个问题?
HTML
<body>
<h1 id="display">Calculator</h1>
<div class="buttons container" id="arithmetic">
<button onclick="clear()" onkeypress="clear()">AC</button>
<button><sup>+</sup>⁄<sub>−</sub></button>
<button>%</button>
<button>÷</button>
<button onclick="number(7)" onkeypress="number(7)">7</button>
<button onclick="number(8)" onkeypress="number(8)">8</button>
<button onclick="number(9)" onkeypress="number(9)">9</button>
<button>×</button>
<button onclick="number(4)" onkeypress="number(4)">4</button>
<button onclick="number(5)" onkeypress="number(5)">5</button>
<button onclick="number(6)" onkeypress="number(6)">6</button>
<button>−</button>
<button onclick="number(1)" onkeypress="number(1)">1</button>
<button onclick="number(2)" onkeypress="number(2)">2</button>
<button onclick="number(3)" onkeypress="number(3)">3</button>
<button>+</button>
<button>.</button>
<button id="doubleSpace" onclick="number(0)" onkeypress="number(0)">0</button>
<button>=</button>
</div>
<div class="calcOptions container">
<button>Arithmetic</button>
<button>Algebra</button>
<button>Calculus</button>
<button>Statistics</button>
</div>
</body>
JavaScript
var currentQuery;
var pastQuery;
var queryLength = document.getElementById("display").innerHTML.length;
function number(n) {
if (document.getElementById("display").innerHTML == "Calculator") {
document.getElementById("display").innerHTML = "";
}
if (queryLength >= 15) {
} else {
currentQuery = document.getElementById("display").innerHTML;
currentQuery += n;
document.getElementById("display").innerHTML = currentQuery;
}
}
function clear() {
currentQuery = "";
document.getElementById("display").innerHTML = currentQuery;
}
解决方案
您不能使用clear()命名 javascript 函数,并且应该在文档准备好后设置queryLength的值,将您的代码替换为:
var currentQuery;
var pastQuery;
var queryLength;
document.addEventListener("DOMContentLoaded", function(event) {
var queryLength = document.getElementById("display").innerHTML.length;
})
function number(n) {
if (document.getElementById("display").innerHTML == "Calculator") {
document.getElementById("display").innerHTML = "";
}
if (queryLength >= 15) {
} else {
currentQuery = document.getElementById("display").innerHTML;
currentQuery += n;
document.getElementById("display").innerHTML = currentQuery;
}
}
function clearValue() {
currentQuery = "";
document.getElementById("display").innerHTML = currentQuery;
}
和清除按钮:
<button onclick="clearValue()" onkeypress="clearValue()">AC</button>
推荐阅读
- osgi - OSGi 包导出版本控制
- php - php Icalendar 提要无效
- ios - 通过google plus ios登录时应用程序崩溃
- linux - 如何更改 Ubuntu /snap 文件夹中的文件?
- embedded - 如何最好地将传统轮询嵌入式固件架构转换为事件驱动架构?
- javascript - 在 attr 绑定中绑定对象 - KnockoutJs
- css - 以百分比定义的 Primefaces 可滚动数据表宽度在 Firefox 中不起作用
- c - 为什么结构数组让我索引到边界外的数组
- ios - 使用 UIDocumentPickerViewController 时没有回调
- batch-file - 在子文件夹中创建和保存特定文件类型的列表