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

在JavaScript中获取CSS元素实现动画失败,类型错误如何解决?

问题解决:getComputedStyle参数类型错误

错误原因

你把<script>标签放在了页面头部,浏览器从上到下解析HTML,JS代码执行时,.circle这个DOM元素还没被创建出来,document.querySelector('.circle')返回null,而getComputedStyle需要传入有效的DOM元素,因此触发了类型错误。

三种解决办法

  • 方法一:把脚本移到页面底部
    将<script>标签放到</body>标签之前,确保DOM元素全部加载完毕后再执行JS:

    <link rel="stylesheet" href="style.css">
    
    ...
    
    <div class="circle"></div>
    
    <script src="bruh.js"></script>
    </body>
    
  • 方法二:监听DOM加载完成事件
    修改bruh.js,用DOMContentLoaded事件包裹代码,等DOM全部解析完成后再执行逻辑:

    document.addEventListener('DOMContentLoaded', () => {
      const element = document.querySelector('.circle');
      const style = getComputedStyle(element);
      console.log(style);
    });
    
  • 方法三:给script标签加defer属性
    在<script>标签上添加defer属性,脚本会在DOM加载完成后再执行,同时可以保持在页面头部的位置:

    <script src="bruh.js" defer></script>
    <link rel="stylesheet" href="style.css">
    
    ...
    
    <div class="circle"></div>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:24:17