2011-08-30 39 views
1

在以下代碼document.getElementById("clock")null,它如何解決?document.getElementById(「clock」)爲空?

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; 
    } 
+1

並且在文檔中是否有'clock'的'id'元素? –

+1

你有'id =「clock」'頁面上的元素嗎?如果元素不存在,那麼返回null的唯一原因幾乎就是。 – Tejs

回答

2

首先中的任何一個,你需要ID爲「時鐘」的元素,其次,你需要後執行該代碼DOM已經準備好了,之前沒有,因爲否則JS就不會找到這個元素。

換句話說......添加:

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

並粘貼到文檔中的</body>之前JavaScript代碼。

3

你必須在你的代碼的項目將使ID clock,你可以添加以下到您的HTML:

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

此外,這將是有益的,看看你的HTML。

0

getElementById將返回undefined的唯一原因是,如果沒有可用於編號爲clock的HTML元素。確保其中一個元素具有此ID

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

<div id="clock"></div>添加到您的頁面。那就是時鐘會出現的地方。

如果您需要更多幫助,請發佈整個頁面的HTML代碼。

你可以採取不同的方式太多,如果你喜歡,例如,

<b id="clock"></b> 
<span id="clock"></span> 
<div style="color:blue" id="clock"></div> 
相關問題