Javascript InnerText不';在html中更新

Javascript InnerText不';在html中更新,javascript,html,Javascript,Html,我正在尝试写一个游戏,在这个游戏中,点击对象的内部文本会发生变化。 下面是我的JS文件中的函数,它在单击时被调用。在控制台中,我可以看到预期的标志,但没有反映在页面上 function printx(number){ let isko = document.getElementById("r" + number); console.log(isko); if(isko.innerText==""){ isko.innerText = sign;

我正在尝试写一个游戏,在这个游戏中,点击对象的内部文本会发生变化。 下面是我的JS文件中的函数,它在单击时被调用。在控制台中,我可以看到预期的标志,但没有反映在页面上

function printx(number){
    let isko = document.getElementById("r" + number);
    console.log(isko);
    if(isko.innerText==""){
        isko.innerText = sign;
        console.log(isko.innerText);
        checksign();
        disp.innerHTML= "<center>" + sign + " Turn " + "</center>" ;
        winner();
    }
}
函数printx(数字){
让isko=document.getElementById(“r”+数字);
console.log(isko);
如果(isko.innerText==“”){
isko.innerText=符号;
log(isko.innerText);
复选标记();
disp.innerHTML=“”+符号+“旋转”+”;
获胜者();
}
}

JS Fiddle link:

您的问题是winner函数在每次循环中循环并重置每个平铺项目的innerHTML。确保循环在if语句中,以检查是否有人真的赢了。

对于winner()中的循环覆盖td标记中的文本,几乎没有可以更正的错误

  • winner()函数中的循环必须在if条件内
  • 使用innerText、innerHTML和一些过时的属性
  • 您必须使用jquery来避免这样冗长的代码

  • 将此代码更新到jquery以查看问题是否解决。

    什么是
    disp
    ?请发布更多代码!一把小提琴就好了你能分享整个代码吗?让disp=document.getElementById(“player”);它是在标题中用于更改标题的对象。不建议使用
    innerHTML
    。再加上,。