2008-11-13 3 views

Répondre

5

Qu'est-ce qui vous empêche de simplement d'itérer le tableau?

for(var i=0; i<ary.length; i++) 
    // assuming that ary[] contains objects with a DoSometing() method 
    ary[i].doSomething(); 
+0

l'affiche demandé YUI, non? – Zlatko

+0

@zladuric: Oui, il l'a fait. Mais il me semblait (et semble toujours) que les frameworks JavaScript font oublier aux gens qu'il y a * du JavaScript simple et réel qu'ils pourraient utiliser, et c'est ce que je voulais souligner. En outre, il y a de fortes chances qu'une boucle for surpasse toute implémentation 'array.each (callback)'. – Tomalak

+0

ok. Je ne voulais pas entrer dedans, je pensais juste que ce genre de réponses (qui en réalité ne répondent pas à la question, mais plutôt pointent vers autre chose) irait aux commentaires pour questionner, pas aux réponses. Je peux être stupide, cependant. – Zlatko

7

YAHOO.util.Dom a la fonction de traitement par lots qui a la signature suivante:

Tout | Matrice lot (el, procédé, o, override)

Lorsque el est un élément DOM ou un réseau d'éléments DOM, procédé est une fonction qui sera transmis à chaque élément du tableau comme premier argument, o est un deuxième argument optionnel, et override est une valeur booléenne qui détermine si la portée doit être fenêtre (false) ou o (true)

Alors vous pourriez cal l comme ceci:

function setDisplay(el, display) { 
    el.style.display = display; 
} 

YAHOO.util.Dom.batch(document.getElementsByTagName('div'), setDisplay, 'none'); 

Peut-être que cela répondrait à vos besoins.

2

En YUI3:

Y.Array.each(myArray, function(element) { 
    Y.log(element); 
}); 

ou même:

Y.Array.each(myArray, function(element, index, array) { 
    ... 
}); 
Questions connexes