使用js获取id的方式修改html的有序列表,为什么修改之后加载网页,新旧内容都显示?

js文件中的相关代码:

        //左下区域
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 4; j++) {
                document.getElementById("item" + String(401 + i * 4 + j)).innerHTML = returnstring.split(";")[36 + i].split(",")[j];
            }
        }

html文件中的列表:

<ul>
<li>
  <p><span id="item401">1</span><span id="item402"></span><span id="item403"></span><span id="item404"></span></p>
</li>
<li>
  <p><span id="item405">2</span><span id="item406"></span><span id="item407"></span><span id="item408"></span></p>
</li>
<li>
  <p><span id="item409">3</span><span id="item410"></span><span id="item411"></span><span id="item412"></span></p>
</li>
</ul>

结果网页打开(清理过缓存,其他变化均正常有效):

img

returnstring从哪里来的?检查returnstring的内容,而且可以拆分先存到数组中,不用每次split


    var arr = returnstring.split(";");////////
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) {
            document.getElementById("item" + String(401 + i * 4 + j)).innerHTML = arr[36 + i].split(",")[j];
        }
    }

新旧内容都显示,检查下returnstring的内容是不是每次都增加没有清空上次的内容,
或者你页面每次都创建一个新的表格,上个表格没有删除
你把完整代码发下看看


 //左下区域
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) {
            document.getElementById("item" + String(401 + i * 4 + j)).innerHTML = 88
        }
    }

我看着没啥问题 innerhtml = 是直接替换了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632