OnLoad仅使用Document.getElementById调用一次

时间:2014-08-07 20:36:13

标签: javascript jquery html variables onload

在我的JS文件中,我试图从JavaScript数组创建一个列表。显然,在页面加载之前你不能document.getElementId,因为首先调用了JS。 if语句产生三个结果,但由于window.onload函数只加载了一个。

var getDateContent = function(year,month,date){         
    if(contentObj != null && contentObj[year] != null && 
        contentObj[year][month] != null && 
        contentObj[year][month][date] != null){

        var contentObjArray = contentObj[year][month][date];
        window.onload=function(){
            var items = document.getElementById("test");
            for (var i = 0; i < contentObjArray.length; i++ ) {
                var item = document.createElement("li");
                item.innerHTML = contentObjArray[i];
                items.appendChild(item);
            }
        }
    }  
}

我想我的问题是,如何在没有window.onload的情况下访问元素ID?这是因为window.onload只在我需要多次运行时运行一次

1 个答案:

答案 0 :(得分:0)

使用addEventListener而不是分配到onload属性。

addEventListener('load', function () { /* ... */ });

这只会添加额外的侦听器而不是覆盖前一个侦听器。

(您需要shiv for IE8