document.getElementById(“clock”)为空?

时间:2011-08-30 21:11:08

标签: javascript getelementbyid

以下代码document.getElementById("clock") null ,如何解决?

    var interval = self.setInterval("clock()", 1000);
    function clock() {
        var date = new Date();
        var hourOffset = 3;
        date.setUTCHours(date.getUTCHours(), date.getUTCMinutes());
        var time = date.getTime();
        date.setUTCFullYear(date.getUTCFullYear(), 2, 22);
        var dstStart = date.getTime();
        date.setUTCFullYear(date.getUTCFullYear(), 8, 22);
        var dstEnd = date.getTime();
        if(time > dstStart && time < dstEnd)
            hourOffset = 4;
        date.setUTCHours(date.getUTCHours() + hourOffset, date.getUTCMinutes() + 30);
        var output = date.getUTCHours() + ":" + date.getUTCMinutes() + ":" + date.getUTCSeconds();
        document.getElementById("clock").innerHTML = output;
    }

4 个答案:

答案 0 :(得分:3)

您的代码中必须有一个ID为clock的商品,请尝试将其添加到您的HTML中:

<div id="clock"></div>

此外,查看您的HTML会很有帮助。

答案 1 :(得分:2)

首先,你需要一个id为“clock”的元素,其次,你需要在DOM准备好之后执行该代码,而不是之前,因为否则JS将找不到该元素。

换句话说......添加:

<div id='clock'></div>

并将该javascript代码粘贴到文档中的</body>之前。

答案 2 :(得分:0)

getElementById返回undefined的唯一原因是,如果ID clock没有可用的HTML元素。确保其中一个元素具有此ID

<p id="clock"></p>

答案 3 :(得分:0)

<div id="clock"></div>添加到您的网页。这就是时钟出现的地方。

如果您需要更多帮助,请发布整页的HTML代码。

如果您喜欢,例如,

中的任何一个,您也可以采用不同的方式
<b id="clock"></b>
<span id="clock"></span>
<div style="color:blue" id="clock"></div>