簡體   English   中英

單擊按鈕后如何刪除 0?

[英]How do I remove the 0 once a button is clicked?

例如,當我單擊12時, display0將被單擊的按鈕覆蓋。

 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>

您可以簡單地添加一個if語句,指出如果display中存在0 ,則在添加諸如if (display.textContent == 0){display.innerHTML = "";}之類的內容之前將其刪除,只需以下內容

例子

 let display = document.querySelector('.display'); let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) { numberButtons.addEventListener('click', showNumber) function showNumber() { if (display.textContent == 0){ display.innerHTML = ""; } 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>

或者簡單地說,如果您想覆蓋所有內容意味着在 DOM 中添加任何內容之前只需刪除所有內容,您可以簡單地嘗試以下操作

例子

 let display = document.querySelector('.display'); let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) { numberButtons.addEventListener('click', showNumber) function showNumber() { display.innerHTML = ""; 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>

似乎您的按鈕文本始終是數字,並且顯示的結果應該是由這些數字組成的數字。

您可以將結果轉換為數字(使用一元+ )並分配:

display.textContent = +(display.textContent + numberButtons.textContent)

注意:當您需要支持 HTML 編碼字符串時,最好保留使用innerHTML 否則使用textContent

 let display = document.querySelector('.display'); let numberButtons = document.querySelectorAll('.number').forEach(function(numberButtons) { numberButtons.addEventListener('click', showNumber) function showNumber() { display.innerHTML = +(display.innerHTML + numberButtons.innerHTML); } });
 <div class='container'> <div class="display">0</div> <button class='number' id='one'>1</button> <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) { numberButtons.addEventListener('click', showNumber) function showNumber() { if (display.innerHTML == '0') { display.innerHTML = numberButtons.innerHTML } else { display.innerHTML += numberButtons.innerHTML } } });
 <div class='container'> <div class="display">0</div> <button class='number' id='one'>1</button> <button class='number' id="two">2</button> </div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM