当我尝试将所有<a>
元素存储为数组中的对象(使用$('a')
),然后获取每个元素的位置时,它不起作用。
years = $('a');
for(i=0;i< years.length;i++){
if(years[i].position().top > year.position().top){
}
else{
}
}
控制台说:
未捕获TypeError:对象文件:///Users /.../index.html#没有方法'position'
当我使用类名而不是标签名选择的单个元素时,一切正常。
我做错了什么?
答案 0 :(得分:11)
请改用:
$("a").each(function() {
var pos = $(this).position();
if (pos.top > year.position().top) {
// hurray
}
});
year
的价值是多少?我更喜欢这样命名jQuery对象:var $year = $("#year");
$
帮助你记住它是一个jQuery对象。
答案 1 :(得分:1)
您可以执行以下操作:
var arr = [], elems = $('a');
for(var i = 0; i < elems.length; i++){
arr[i] = elems[i];
}