3 回答

TA貢獻1777條經驗 獲得超10個贊
您可以簡單地添加一條if語句,說明如果在添加任何內容之前將0其display 刪除,如下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>

TA貢獻1880條經驗 獲得超4個贊
看起來你的按鈕文本總是數字,顯示的結果應該是由這些數字組成的數字。
您可以將結果轉換為數字(使用一元+
)并分配:
display.textContent = +(display.textContent + numberButtons.textContent)
innerHTML
注意:當您需要支持 HTML 編碼的字符串時,最好保留 for 的使用。否則使用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>

TA貢獻1934條經驗 獲得超2個贊
我仍然需要 +=,但與此同時,我不希望在單擊按鈕后出現 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>
添加回答
舉報