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

使用Open Weather API时innerHTML赋值失败,报Uncaught (in promise) TypeError

问题解决:无法设置innerHTML的错误

你的核心问题出在HTML元素的ID定义上:

在HTML中,你给p标签的id写了:

<p id="#weather">123</p>

但id属性的值不应该包含#,#是CSS选择器里用来标识ID的符号,不是ID本身的一部分。

而你的JavaScript代码里用document.querySelector("#weather"),这行代码的意思是「选择页面上**ID为weather**的元素」,但你的元素ID实际是#weather,所以找不到目标元素,tempHolder就变成了null,自然无法设置它的innerHTML,这就是控制台报错Cannot set properties of null的原因。

修复步骤

  1. 修改HTML中的p标签,把id的#去掉:
<p id="weather">123</p>
  1. 你的JavaScript代码不需要修改,因为document.querySelector("#weather")的写法是正确的,它会匹配id为weather的元素。

另外,你的API请求已经成功拿到了温度数据(控制台能打印28.09° C),修复ID问题后,温度就能正常渲染到页面上了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:22:11