我有一個函式必須在 DOM 中顯示一個數字(玩家的分數)。但我什么都看不到
victory() {
let score = document.getElementById("score")
score.innerHTML = 123
}
<div id="victory-text" class="overlay-text overlays">
Victory
<span id="score" class="overlay-text-small">Your score:</span>
<span class="overlay-text-small">
Click to restart
</span>
</div>
我victory()在另一個函式中呼叫了該函式。如果而不是score.innerHTML = 123如果我有score.innerHTML = "Hello World"它顯示為your score: Hello World. 所以我認為這只是數字的問題。數字“123”只是一個硬編碼值,稍后我將動態插入數字(實際分數)。但是硬編碼值也沒有像動態值那樣顯示。有人可以幫我解決這個問題嗎?我剛剛開始使用 javascript
uj5u.com熱心網友回復:
您必須決議現有數字,然后添加到其中。innerHTML =不打算做數學。
這是一個使用parseInt的例子。
function victory() {
let score = document.getElementById("score");
score.innerText = parseInt(score.innerText) 123;
}
victory();
uj5u.com熱心網友回復:
你忘了宣布勝利是函式。
function victory() {...} 反而 victory() {...}
function victory() {
let score = document.getElementById("score");
score.innerHTML = 123;
}
victory();
<div id="victory-text" class="overlay-text overlays">
Victory
<span id="score" class="overlay-text-small">Your score:</span>
<span class="overlay-text-small">
Click to restart
</span>
</div>
uj5u.com熱心網友回復:
分配element.innerHTML是一個危險信號,表明某些事情可能無法正確退出。向 html 添加內容通常應該通過element.innerText
另一個問題是您將分數附加到現有的 html。這意味著如果您第二次呼叫該函式,仍會顯示之前的分數。
function victory() {
let score = document.getElementById("score");
score.innerText = (123).toString();
}
victory()
<div id="victory-text" class="overlay-text overlays">
Victory
<span class="overlay-text-small">Your score: <span id="score"></span></span>
<span class="overlay-text-small">
Click to restart
</span>
</div>
現在您可以多次呼叫該函式而不會出現問題,同時避免element.innerHTML.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/347315.html
標籤:javascript html
上一篇:CSS變換比例也增加div父主體
