我有一个元素,其中一个事件将在for
循环中创建100次
我希望通过push()
事件将整个元素保存在数组中,并通过其他函数调用数组,但会出现错误:
Uncaught TypeError: Cannot read property 'getBoundingClientRect' of undefined
我的剧本:
var P = [];
for (var i = 0; i < 100; i++) {
P.push($('.way')[i].getBoundingClientRect());
}
console.log(P);
现在我已经明白处理程序事件不能包含在数组中,但为什么呢?
如何将元素保存到数组中?是否还有其他方法可以保存我的处理程序事件?
答案 0 :(得分:0)
由于您已经在使用jQuery,因此可以使用$.each
:
var P = [];
$('.way').each(function() {
P.push(this.getBoundingClientRect());
});
console.log(P);
通过这种方式,您可以保留脚本外部的项目数,如果将来更改的话。