除非包含document.write(),否则Javascript动态创建div隐藏

时间:2012-12-19 17:10:57

标签: javascript html

我已动态创建了一个包含日期和时间的通用标头。目前它的行为和看起来非常好,但是一旦我删除document.write('。')它就会消失。似乎我需要在那里写任何类型才能显示dateDiv,'。'只是一个用来填补空间的随机字符。

//write date/time to div
var dateDiv = document.createElement('div');
dateDiv.innerHTML = '<p>' + d_names[curr_day] + ', ' + m_names[curr_month] + ' ' + curr_date + ',     ' + curr_year + ' | ' + '<strong>' + curr_hour + ':' + curr_min + ' ' + a_p + '</strong>' + '</p>';
dateDiv.id = 'dateTime';

//dateDiv disappears without a document.write() before being appended to the body. need to fix
document.write('.');

document.body.appendChild(dateDiv);

我还没有找到答案,有人看到了问题吗?

1 个答案:

答案 0 :(得分:2)

由于loganfsmyth暗示您的代码可能已执行,因此文档未完全加载。尝试:

window.onload = function(){
    //write date/time to div
    var dateDiv = document.createElement('div');
    dateDiv.innerHTML = '<p>' + d_names[curr_day] + ', ' + m_names[curr_month] + ' ' + curr_date + ',     ' + curr_year + ' | ' + '<strong>' + curr_hour + ':' + curr_min + ' ' + a_p + '</strong>' + '</p>';
    dateDiv.id = 'dateTime';
    document.body.appendChild(dateDiv);
};

编辑: 请参阅示例http://javascript.about.com/library/blonload.htm