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

尝试设置body元素样式时触发Uncaught TypeError错误的问题求助

尝试设置body元素样式时触发Uncaught TypeError错误的问题求助

嗨,我来帮你捋捋这个问题~

首先,你碰到的这个报错:

Uncaught TypeError: Cannot read properties of null (reading 'style') at updateColour (coloured_fade.html:15:22)

核心原因就是你代码里尝试获取的body元素返回了null,所以才会触发“读取null的style属性”的错误。你说代码已经放在onload事件处理器里了,但还是出问题,大概率是这几个常见情况:

  • 获取body元素的方式写错了:比如你是不是用了document.getElementById('body')?但默认情况下body元素的id并不是body,正确的获取方式应该是直接用document.body,或者document.querySelector('body'),如果选择器写错,自然拿不到元素返回null。
  • onload的绑定逻辑有问题:比如你是不是在页面还没初始化的时候就绑定了事件?不过window的onload本来就是等所有资源加载完成才触发,这个可能性相对小一些,但也可以检查下是不是绑定语句写错了(比如误写成了document.onload而不是window.onload)。
  • 极端情况:页面结构缺失body标签:这种情况很少见,但如果你的HTML里没写<body>标签,document.body也会返回null,不过正常页面一般不会犯这种错啦。

给你举个正确的示例代码,在onload里设置body样式的正确写法:

window.onload = function updateColour() {
  // 正确获取body元素
  const bodyElement = document.body;
  // 或者用querySelector的方式
  // const bodyElement = document.querySelector('body');
  
  // 示例:设置背景色
  bodyElement.style.backgroundColor = '#f0f0f0';
};

你可以重点检查下自己代码里获取body元素的那行语句,大概率是这里出了问题哦。

备注:内容来源于stack exchange,提问作者DeepThought42

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 16:35:28