2012-05-16 17 views
7

sonuçlarının üzerinde yineleme yapabilirim <a> öğelerinin tümünü dizideki nesneler olarak ($('a') kullanarak) depolamaya çalıştığımda ve her birinin konumunu aldığımda, çalışmaz.Bir jquery seçici

years = $('a'); 
for(i=0;i< years.length;i++){ 
    if(years[i].position().top > year.position().top){ 

    } 
    else{ 

    } 
} 

Konsol diyor ki:

Uncaught TypeError: Object file:///Users/.../index.html# has no method 'position'

Sınıf adı yerine etiket adına göre seçilen tek eleman ile bunu, her şey iyi çalışır.

Neyi yanlış yapıyorum? Bu yerine

var arr = [], elems = $('a'); 

for(var i = 0; i < elems.length; i++){ 
    arr[i] = elems[i]; 
} 
+3

JavaScript'inizi tahmin etmeli miyiz? Ya da neyi denediğinizi göstererek size yardım etmemize yardım edebilir misiniz? –

+5

Hiçbir kod hata yapamaz. – Bergi

cevap

9

Kullanımı:

$("a").each(function() { 
    var pos = $(this).position(); 
    if (pos.top > year.position().top) { 
    // hurray 
    } 
}); 

Ayrıca year değeri nedir

+0

Sizin için çalıştınız umarım –

+0

Teşekkür ederim adamım, işe yarıyor :) – Michael

1

Aşağıdaki yapabilir? JQuery nesnelerini şu şekilde adlandırmayı tercih ederim: var $year = $("#year");$, bir jQuery nesnesi olduğunu hatırlamanıza yardımcı olur.

+0

arr tanımsızdır, bunun hiçbir özelliğini ayarlayamazsınız. – Bergi