6

我想使用 javascript 将时钟附加到 div 内部。这是我的代码:

<script type="text/javascript">
//<![CDATA[
function makeArray() {
for (i = 0; i<makeArray.arguments.length; i++)
this[i + 1] = makeArray.arguments[i];
}

var months = new makeArray('January','February','March','April','May',
'June','July','August','September','October','November','December');
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;

var timer = document.write(months[month]+ " " +day + ", " + year);
document.getElementById('time').appendChild(timer);
//]]></script>

<div id='time'></div>

但它不起作用。帮我修一下。谢谢。

4

3 回答 3

7

尝试这个:

var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var date = new Date();
var day = date.getDate();
var month = date.getMonth();
var yy = date.getFullYear();
var year = (yy < 100) ? yy + 1900 : yy;

var timer = document.createElement('div');
timer.innerHTML = months[month] + " " + day + ", " + year;
document.getElementById('time').appendChild(timer);

演示在这里

于 2013-10-05T11:20:37.213 回答
3

innerHTML可以将文本写入 div,因为您没有在此处附加任何元素。

document.getElementById('time').innerHTML = months[month]+ " " +day + ", " + year;

供参考:http: //jsfiddle.net/SpgMm/2/

如果您真的想使用 appendChild 更好地使用 createElement 然后将其附加到 div。

希望能帮助到你

PS 仅在处理原始 javascipt 时才使用它,否则 Jquery html 方法是最佳选择。

于 2013-10-05T11:22:39.687 回答
1

试试这个,这会帮助你

var months = new Array('January','February','March','April','May',
'June','July','August','September','October','November','December');
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
var timer = months[month]+ " " +day + ", " + year;
$('#time').html(timer);

或者在Javascript中你可以写成

document.getElementById('time').innerHTML=timer;

小提琴Here

于 2013-10-05T11:20:52.567 回答