单击按钮后如何删除 0?

例如,当我单击其中一个时1,或者将被单击的按钮覆盖。20display


let display = document.querySelector('.display');


let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) {

  numberButtons.addEventListener('click', showNumber)


  function showNumber() {

    display.innerHTML += numberButtons.innerHTML

  }

});

<body>

  <div class='container'>

    <div class="display">0</div>

    <button class='number' id='one'>1</button>

    <button class='number' id="two">2</button>

  </div>

</body>


RISEBY
浏览 114回答 3
3回答

不负相思意

您可以简单地添加一条if语句,说明如果在添加任何内容之前将0其display 删除,如下if (display.textContent == 0){display.innerHTML = "";}所示例子let display = document.querySelector('.display');let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) {&nbsp; numberButtons.addEventListener('click', showNumber)&nbsp; function showNumber() {&nbsp; &nbsp; if (display.textContent == 0){&nbsp; &nbsp; &nbsp; display.innerHTML = "";&nbsp; &nbsp; }&nbsp; &nbsp; display.innerHTML += numberButtons.innerHTML;&nbsp; }});<body>&nbsp; <div class='container'>&nbsp; &nbsp; <div class="display">0</div>&nbsp; &nbsp; <button class='number' id='one'>1</button>&nbsp; &nbsp; <button class='number' id="two">2</button>&nbsp; </div></body>或者简单地说,如果您想覆盖所有内容,则意味着在 DOM 中添加任何内容之前只需删除所有内容,您可以简单地尝试以下操作例子let display = document.querySelector('.display');let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) {&nbsp; numberButtons.addEventListener('click', showNumber)&nbsp; function showNumber() {&nbsp; &nbsp; display.innerHTML = "";&nbsp; &nbsp; display.innerHTML += numberButtons.innerHTML;&nbsp; }});<body>&nbsp; <div class='container'>&nbsp; &nbsp; <div class="display">0</div>&nbsp; &nbsp; <button class='number' id='one'>1</button>&nbsp; &nbsp; <button class='number' id="two">2</button>&nbsp; </div></body>

慕村225694

看起来你的按钮文本总是数字,显示的结果应该是由这些数字组成的数字。您可以将结果转换为数字(使用一元+)并分配:display.textContent&nbsp;=&nbsp;+(display.textContent&nbsp;+&nbsp;numberButtons.textContent)innerHTML注意:当您需要支持 HTML 编码的字符串时,最好保留 for 的使用。否则使用textContent.let display = document.querySelector('.display');let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) {&nbsp; numberButtons.addEventListener('click', showNumber)&nbsp; function showNumber() {&nbsp; &nbsp; display.innerHTML = +(display.innerHTML + numberButtons.innerHTML);&nbsp; }});<div class='container'>&nbsp; <div class="display">0</div>&nbsp; <button class='number' id='one'>1</button>&nbsp; <button class='number' id="two">2</button></div>

撒科打诨

我仍然需要 +=,但与此同时,我不希望在单击按钮后出现 0。您可以检查display.innerHTML是否为 0。因此可以决定是连接还是替换字符串。let display = document.querySelector('.display');let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) {&nbsp; &nbsp; numberButtons.addEventListener('click', showNumber)&nbsp; &nbsp; function showNumber() {&nbsp; &nbsp; &nbsp; &nbsp; if (display.innerHTML == '0') {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; display.innerHTML = numberButtons.innerHTML&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; display.innerHTML += numberButtons.innerHTML&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }});<div class='container'>&nbsp; &nbsp; <div class="display">0</div>&nbsp; &nbsp; <button class='number' id='one'>1</button>&nbsp; &nbsp; <button class='number' id="two">2</button></div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript