Javascript更新文本内容

Javascript更新文本内容,javascript,Javascript,我在更新文本内容时遇到问题,如果我使用document.querySelector()选择元素,那么它会工作,但是如果我将元素存储在对象中,那么我似乎无法更新它 例如: let player1 = { totalScore: 0, currentScore: 0, totalScoreBox: document.querySelector('#score--0').textContent, currentScoreBox: document.querySelect

我在更新文本内容时遇到问题,如果我使用document.querySelector()选择元素,那么它会工作,但是如果我将元素存储在对象中,那么我似乎无法更新它

例如:

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
。非常感谢你让我烦透了。