Javascript更新文本内容
我在更新文本内容时遇到问题,如果我使用document.querySelector()选择元素,那么它会工作,但是如果我将元素存储在对象中,那么我似乎无法更新它 例如:Javascript更新文本内容,javascript,Javascript,我在更新文本内容时遇到问题,如果我使用document.querySelector()选择元素,那么它会工作,但是如果我将元素存储在对象中,那么我似乎无法更新它 例如: let player1 = { totalScore: 0, currentScore: 0, totalScoreBox: document.querySelector('#score--0').textContent, currentScoreBox: document.querySelect
let player1 = {
totalScore: 0,
currentScore: 0,
totalScoreBox: document.querySelector('#score--0').textContent,
currentScoreBox: document.querySelector('#current--0').textContent
}
const updatePlayerScore = (player, value) => {
player.totalScore += value;
player.currentScore += value;
player.currentScoreBox = parseFloat(player.currentScore); //Doesn't work
document.querySelector('#current--0').textContent = parseFloat(player.currentScore); //Works
}
提前感谢。此行
currentScoreBox:document.querySelector('#current--0')。textContent
将textContent作为字符串检索,并将该字符串存储在currentScoreBox
变量中。当您将currentScoreBox
设置为另一个字符串时,此时您所做的只是替换该变量的值,该变量决不会附加到DOM
而是存储节点本身
let player1 = {
totalScore: 0,
currentScore: 0,
totalScoreBox: document.querySelector('#score--0'),
currentScoreBox: document.querySelector('#current--0')
}
const updatePlayerScore = (player, value) => {
player.totalScore += value;
player.currentScore += value;
player.currentScoreBox.textContent = parseFloat(player.currentScore);
}
副本;同样的情况也适用于
textContent
。非常感谢你让我烦透了。