2010-03-13 6 views
0
$.each(3,function(i){ 
    alert(i) 
    }) 

alerte 0,1,2peut jquery faire cela?

comment faire cela en utilisant jquery?

grâce

+0

et vous êtes Dieu! – zjm1126

+0

Indépendamment de la réponse, j'ai l'impression que c'est un bon exemple de "juste parce que vous pouvez ne signifie pas que vous devriez". –

+0

Vous pouvez également le faire avec des circuits logiques, mais mieux avec les js purs. – Sinan

Répondre

3

.Chaque $ itère sur un tableau ou un objet, de sorte que vous voudriez faire un tableau ...

$.each([0,1,2],function(i){alert(i);}); 

Edit: Si vous voulez une fonction pour rendre le tableau pour vous, jusqu'à un nombre maximum, voici une façon:

max=5; 

$.each(
    (function(){ i=0,f=[]; while(i<max){ f.push(i);i++; } return f;})(), 
    function(i){ alert(i); } 
); 
6

Cette question est pour un autre type d'exemple? Si non, pourquoi ne pas simplement utiliser une vieille boucle javascript ennuyeuse?

for(var i=0; i<3; i++) { 
    alert(i); 
} 

Qu'est-ce que j'ai manqué?

1

Que diriez-vous de définir votre propre each:

jQuery.extend({ 
    eachIter: function(to,callback){ 
     for(var i=0;i<to;i++){ 
      callback(i); 
     } 
    } 
}); 

Ensuite, vous pouvez l'appeler comme vous avez dit:

$.eachIter(3,function(i){alert(i);}); 
+0

Vous devez passer la variable 'i' au rappel, pas à la variable' to', sinon elle alertera 3, trois fois. – CMS