Javascript DOM中的分数未更新
无法理解为什么我的分数没有在DOM中更新。当我打印出来时,它会在控制台中正确更新。任何帮助都将不胜感激 代码如下: ----HTML-----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
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中呈现的值。你们真是太棒了!谢谢你的帮助!!!!