Javascript 未捕获类型错误:无法读取属性';clientHeight';空铬2020

Javascript 未捕获类型错误:无法读取属性';clientHeight';空铬2020,javascript,html,getelementbyid,Javascript,Html,Getelementbyid,这似乎是一个非常简单的问题,但我就是想不出来。在Chrome的控制台日志中,我不断得到: 未捕获的TypeError:无法读取null的属性“clientHeight” 这是我的HTML: <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-

这似乎是一个非常简单的问题,但我就是想不出来。在Chrome的控制台日志中,我不断得到:

未捕获的TypeError:无法读取null的属性“clientHeight”

这是我的HTML:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/styles.css">
    <script src="js/main.js"></script>
</head>
<body>
    <div id="deets">
        <h1>Document</h1>
        <p>Lorem ipsum...</p>
    </div>
    <canvas id="anim"></canvas>
</body>
</html>
第一次和第二次测试都很有效,但我不知道第三次有什么问题。Element id=“deets”一直以空值返回

非常感谢您的帮助。谢谢

尝试一下:

  • 考虑将
    移动到
    之前
  • 这是因为我们在呈现DOM元素之前调用
    document.getElementById(“deets”)

    如果需要在头部中调用<代码> <代码>,请考虑使用.< /LI>
    将js/main.js文件放在正文部分末尾的脚本标记中,它应该可以工作。

    这可能会对您有所帮助。您应该将脚本标记移动到body标记的底部

      <html lang="en">
        <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
         <link rel="stylesheet" href="css/reset.css">
          <link rel="stylesheet" href="css/styles.css">
        </head>
        <body>
            <div id="deets">
            <h1>Document</h1>
            <p>Lorem ipsum...</p>
            </div>
            <canvas id="anim"></canvas>
            <script src="js/main.js"></script>
        </body>
       </html>
    
    
    文件
    文件
    同侧眼线


    该死,我想我已经明白了。只需将标签移到底部即可。很容易!将控制台调用放在窗口加载的事件侦听器中即使将脚本移动到正文底部,也始终在加载文档/窗口后访问DOM元素。bcoz脚本加载速度比DOM tree.alos快,接受@hrgui的答案。接受正确答案的标准是:)这能回答你的问题吗?
      <html lang="en">
        <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
         <link rel="stylesheet" href="css/reset.css">
          <link rel="stylesheet" href="css/styles.css">
        </head>
        <body>
            <div id="deets">
            <h1>Document</h1>
            <p>Lorem ipsum...</p>
            </div>
            <canvas id="anim"></canvas>
            <script src="js/main.js"></script>
        </body>
       </html>