0

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

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

此外,我在 JS 中使用的数组不多,只是在 C++ 中,所以也许我的语法有问题?这是我拥有的代码的粗略副本:

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

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

1 回答 1

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;
});
于 2013-11-13T14:42:40.123 回答