JavaScript中极容易犯的错误.一定要注意使用 document.write() 方法.首先页面加载完成之后会运行 displayTime() 函数, 然后在执行这个函数的过程中, document.write() 方法会把整个document 内的内容全部清掉后再输出你你的数据, 过一秒后,再次执行,而页面中已经不存在这个函数了,因为已经被 document.write() 清除掉了.正确的用法是var dt=getElementById("datetime");
  if(hour>12)
  {
    dt.innerHTML="今天是:"+year+"年"+(month+1)+"月"+date+"日"+weekday+"  "+(hour-12)+":"+minute+":"+second+"PM";
  }else
  {
    dt.innerHTML="今天是:"+year+"年"+(month+1)+"月"+date+"日"+weekday+"  "+hour+":"+minute+":"+second+"AM";
  }
  var myTime = setTimeout("displayTime()",1000);
}
</script>
</head>
<body onload="displayTime()">
<span id="datetime"></span>
</body>

解决方案 »

  1.   

    你可以做一个试验
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>日期对象应用</title>
    <script>
    function displayTime(){
    document.write("OK")
    }
    </script>
    </head>
    <body onload="displayTime()">
    asdfjas;dfjas;dfjs;df
    </body>
    </html>
      

  2.   


    顶……JS教程上好像比较喜欢用document.write,又不说明其特性,导致在后面真想输出的时候惹不少麻烦