防止JavaScript丢失现有的Element引用

时间:2014-02-14 22:35:50

标签: javascript arrays variables events onload

我在我的文档的开头调用了一个函数,它有一个元素数组,但尚不存在(因为页面没有加载),如下所示:

myElements([document.body, document.getElementById('foo'), document.getElementById('bar')]); 

然后我有一个函数将数组的所有元素添加到另一个数组供以后使用(为了更容易,我将在本例中使用全局变量):

function myElements(elements){

window.list = elements;

}

我遇到的问题是window.list是空的,因为DOM中的元素还不存在。 JavaScript为每个返回null。我也无法在window.onload中包装这些函数,因为我需要之前页面加载。 有没有办法保存除ID,类等之外的非现有元素引用?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果你把脚本放在</body>之前,你可以在触发onLoad事件之前访问元素,即:

... all your other html here ...

<script>
...
</script>
</body>
</html>

或者,等待DOMContentLoaded事件。