Javascript全局数组对象无法读取

时间:2013-11-13 14:40:06

标签: javascript jquery arrays

我遇到了一些问题,我认为这是因为我正在声明一个阵列。我正在使用jQuery,我想声明一个全局数组,所以我可以在我的函数中使用它的项目。我现在这样做的方式,当我尝试使用函数中的项目时,它们是有限的。我做了一个数组的控制台日志,它似乎表明它有内容(甚至是我想要的东西)但是当我在那些项目上执行jQuery函数时它告诉我

  

无法读取未定义的属性“top”

另外,我没有在JS中使用过很多数组,只是在C ++中,所以我的语法可能有问题吗?这是我的代码的粗略副本:

var pigs = new Array();
pigs[0] = $('#foo');
pigs[1] = $('#bar');

$(document).ready(function(){
    console.log(pigs);
    var topCoord = pigs[0].offset().top;
});

1 个答案:

答案 0 :(得分:2)

我猜$('#foo')$('#bar')都返回空的jQuery对象。在查询之前,您应该等待DOM准备就绪:

var pigs = new Array();
$(document).ready(function(){
    pigs[0] = $('#foo');
    pigs[1] = $('#bar');
    console.log(pigs);
    var topCoord = pigs[0].offset().top;
});