创建 DOM 元素 - 未捕获类型错误:无法读取 null 的属性(读取“appendChild”)

问题描述 投票:0回答:1

我正在尝试从 JS 脚本动态附加一个 div 元素到 HTML DOM 中,例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Result</title>

    <style>
        .chart-container {
            position: relative;
            height: 40vh;
            width: 80vw;
        }
    </style>

    <script defer>
        var divContainer = document.createElement('div');
        divContainer.className = 'chart-container';
        document.body.appendChild(divContainer);

        ... REST OF THE SCRIPT
    </script>
</head>
<body>
    <h1>Metrics Information:</h1>
</body>
</html>

但由于某种原因,这只会导致:

Uncaught TypeError: Cannot read properties of null (reading 'appendChild')

javascript html dom
1个回答
0
投票

defer
标签上的
<script>
属性对内联脚本没有影响。它仅适用于通过
src
属性导入的脚本。

如果将脚本移至

<body>
部分的末尾,它应该可以工作(好吧,发布的 3 行应该可以工作)。

© www.soinside.com 2019 - 2024. All rights reserved.