InnerText不会在html中更新

时间:2018-08-15 09:59:16

标签: javascript html

我正在尝试编写一个游戏,其中单击对象的innerText会发生变化。 下面是我的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();
    }
}

JS小提琴链接:https://jsfiddle.net/c9ejhox4/

3 个答案:

答案 0 :(得分:1)

您的问题是,获胜者函数会在每个回合中循环遍历并重置每个磁贴项目的innerHTML。确保该循环位于if语句内,以检查是否有人确实赢了。

答案 1 :(得分:1)

winner()中的for循环会覆盖td标签中的文本

答案 2 :(得分:0)

几乎没有可以纠正的错误。

  1. winner()函数中的循环必须位于if条件之内。
  2. 使用innerText,innerHTML和一些过时的属性。
  3. 您必须使用jquery来避免这样冗长的代码。

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