You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Uncaught TypeError: Cannot set property 'innerHTML' of null错误解决

解决"Cannot set property 'innerHTML' of null"的问题

这个错误的核心原因其实很直白:当你的JavaScript代码执行时,页面上ID为abc的元素还没被浏览器加载完成,所以document.getElementById('abc')返回了null,自然没法设置它的innerHTML属性。而console.log(xyz.age)能正常输出,是因为这行代码只依赖sessionStorage里的数据,和DOM元素完全无关。

下面给你几个靠谱的解决办法:

  • 把JS代码挪到页面底部
    把你的脚本放到</body>标签的上方,这样浏览器会先加载完所有DOM元素,再执行JS代码。示例如下:

    <body>
      <!-- 页面其他内容 -->
      <div id="abc"></div>
      <script>
        // 建议用const/let声明变量,避免全局污染
        const xyz = JSON.parse(sessionStorage.getItem("details"));
        document.getElementById('abc').innerHTML = xyz.age;
        console.log(xyz.age);
      </script>
    </body>
    
  • 使用DOMContentLoaded事件监听
    如果脚本必须放在<head>里,那就让代码等待DOM加载完成后再执行,这是更规范的做法:

    document.addEventListener('DOMContentLoaded', function() {
      const xyz = JSON.parse(sessionStorage.getItem("details"));
      document.getElementById('abc').innerHTML = xyz.age;
      console.log(xyz.age);
    });
    
  • 检查元素ID是否准确
    别忘了确认页面上确实存在ID为abc的元素,有没有拼写错误(比如大小写不一致,写成了Abc或ABC),这种小疏忽也常导致类似问题。

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:26:15