jquery imbriqués .chaque
$(".globalTabs").each(function(){
var $globalTabs = $(this);
var parent = $globalTabs.parent('form');
//initiate jQuery UI tabs
$globalTabs.tabs();
var ATBwidth = $globalTabs.parent().outerWidth();
var tabsWidth = 0;
//get total width of all li/tabs
$(".globalTabs .ui-tabs-nav li").each(function() {
tabsWidth += $(this).outerWidth();
});
if(tabsWidth >= ATBwidth){
//doing something here
}
});
qui est casser en raison de la imbriquée .each
- est-il un moyen simple de contourner ce problème?
rupture = fonction après la deuxième boucle, qui se réfère à $globalTabs
n'est plus le déclenchement, car il n'est pas défini.
Erreur stupide:
Après la deuxième boucle, dans cette section, je faisais allusion à l'sélecteur à deux reprises.
Donc, avec $(".globalTabs").each(function(){
bien sûr, cela ne fonctionne pas:
$globalTabs.find(".globalTabs .ui-tabs-nav li").hide();
N'avait rien à voir avec les boucles.
Merci à tous pour votre aide.
Que voulez-vous dire, "rupture"?
édité
édité
OriginalL'auteur Jason | 2012-08-20
Vous devez vous connecter pour publier un commentaire.
Au lieu d'utiliser la valeur de
this
passez la valeur à partir de.each(index, value)
D'accord, édité ma réponse.
des besoins tabsWidth += $(secondValue).outerWidth();
remplacer par: $(secondValue)
encore des pauses après la deuxième boucle
OriginalL'auteur dmck
Peut-être vos multiples
this
variables sont confus? Essayez d'utiliser des arguments dans la fonction de callback à la place (http://api.jquery.com/each/):OriginalL'auteur Blazemonger