Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOM中的分数未更新_Javascript_Html_Dom_Updating - Fatal编程技术网

Javascript DOM中的分数未更新

Javascript DOM中的分数未更新,javascript,html,dom,updating,Javascript,Html,Dom,Updating,无法理解为什么我的分数没有在DOM中更新。当我打印出来时,它会在控制台中正确更新。任何帮助都将不胜感激 代码如下: ----HTML----- let userEarnings = 0; let scoreboardDOMLocation = document.getElementById('score').innerText console.log(scoreboardDOMLocation); const teethEarnings = () => { scoreboardD

无法理解为什么我的分数没有在DOM中更新。当我打印出来时,它会在控制台中正确更新。任何帮助都将不胜感激

代码如下:

----HTML-----

let userEarnings = 0;
let scoreboardDOMLocation = document.getElementById('score').innerText
console.log(scoreboardDOMLocation);

const teethEarnings = () => {
    scoreboardDOMLocation = (userEarnings += earnings.teeth);
    console.log('You clicked on teeth');
    console.log(scoreboardDOMLocation);
}

document.getElementById('teethPic').addEventListener('click',teethEarnings);

$0
欢迎来到景观游戏
点击开始游戏
----Javascript---

let userEarnings = 0;
let scoreboardDOMLocation = document.getElementById('score').innerText
console.log(scoreboardDOMLocation);

const teethEarnings = () => {
    scoreboardDOMLocation = (userEarnings += earnings.teeth);
    console.log('You clicked on teeth');
    console.log(scoreboardDOMLocation);
}

document.getElementById('teethPic').addEventListener('click',teethEarnings);

@安德烈亚斯是对的。您只存储了h1 html元素的文本,但没有 对实际html元素的引用。代码应该如下所示:

let scoreboardDOMLocation=document.getElementById('score');
const teethEarnings=()=>{
scoreboardDOMLocation.innerHTML=(userEngages+=Engages.deaths);
log(“你点击了牙齿”);
}
document.getElementById('teethPic')。addEventListener('click',teethEarnings);

@Andreas是正确的。您只存储了h1 html元素的文本,但没有 对实际html元素的引用。代码应该如下所示:

let scoreboardDOMLocation=document.getElementById('score');
const teethEarnings=()=>{
scoreboardDOMLocation.innerHTML=(userEngages+=Engages.deaths);
log(“你点击了牙齿”);
}
document.getElementById('teethPic')。addEventListener('click',teethEarnings);

scoreboardDOMLocation
不是对
\score
.innerText
属性的引用。它只是一个带字符串的变量。更改其内容不会更改DOM(
#score
)。我可能在您响应后添加了一些代码。scoreboardDOMLocation是对#score的.innerText的引用。控制台中的所有内容都会正确更新,但DOMNo不会,它不会引用任何内容。它只是一个存储
.innerText
属性返回的字符串的变量。在初始化
scoreboardDomLocation
的第二行中,您实际上正在创建
#score.innerText
的副本。在
teethEarnings()
中,您只更新值的副本,而不是在DOM中呈现的值。你们真是太棒了!谢谢你的帮助
scoreboardDOMLocation
不是对
#score
.innerText
属性的引用。它只是一个带字符串的变量。更改其内容不会更改DOM(
#score
)。我可能在您响应后添加了一些代码。scoreboardDOMLocation是对#score的.innerText的引用。控制台中的所有内容都会正确更新,但DOMNo不会,它不会引用任何内容。它只是一个存储
.innerText
属性返回的字符串的变量。在初始化
scoreboardDomLocation
的第二行中,您实际上正在创建
#score.innerText
的副本。在
teethEarnings()
中,您只更新值的副本,而不是在DOM中呈现的值。你们真是太棒了!谢谢你的帮助!!!!