为什么这段代码不能正常使用getElementById?

时间:2017-12-29 12:59:30

标签: alert document getelementbyid console.log

任何人都可以告诉我 为什么这段代码用于显示 document.getElementById("ibody").innerHTML=...无效?

<script type="text/javascript">
    var v=new Date();
    document.write("Avec document.write() = "+v);
    window.alert("Avec window.alert() = "+v);
    alert("Avec alert() = "+v);
    console.log("Avec console.log = "+v);
    document.getElementById("ibody").innerHTML=
        "Avec getElementById() ds DIV = "+v
</script>

<body id="ibody"></body>

2 个答案:

答案 0 :(得分:0)

因为在您运行代码时,<body>元素不存在。

尝试将代码块包装在DOM完成加载后运行的事件处理程序中:

<script type="text/javascript">
    document.addEventListener(
        'DOMContentLoaded',
        function () {
            var v=new Date();
            document.write("Avec document.write() = "+v);
            window.alert("Avec window.alert() = "+v);
            alert("Avec alert() = "+v);
            console.log("Avec console.log = "+v);
            document.getElementById("ibody").innerHTML=
                "Avec getElementById() ds DIV = "+v
        }
    );
</script>

答案 1 :(得分:0)

将javascript代码保留在正文下方