2009-07-30 5 views
2

Je réalise le code ci-dessous n'est pas la façon la plus efficace de saisir des éléments, mais à cause d'un exemple ...Comment accéder aux différents niveaux de "THIS" dans jquery?

$('.myFirstClass').each(function(i){ 
    // Here is the first 'THIS' occurrence 
    $(this).find('.mySecondClass').each(function(j){ 
     // Here is the second 'THIS' occurrence 
     // How do i access the first occurrence from here? 
    }); 
}); 

Répondre

4

Pas besoin de stocker des variables. jQuery fait déjà dans le second paramètre ...

$(".myFirstClass").each(function(i, j){ 
    // I am represented as this or j 
    $(j).find(".mySecondClass").each(function(a, b){ 
    // I am represented as this or b 
    // I can communicate with j 
    }); 
}); 
+0

ouais, personnellement je n'aime pas les params partout. Beaucoup plus propre en utilisant le var imo. – redsquare

3

magasin le présent dans un var avant chaque intérieur.

$('.myFirstClass').each(function(i){ 
    //store this 
    var $that = $(this); 
    $(this).find('.mySecondClass').each(function(j){ 
     //$that.something 
     // How do i access the first occurrence from here? 
    }); 
}); 
4

Quelque chose comme ça,

$('.myFirstClass').each(function(i){ 
    var firstClassThis = this; 
    $(this).find('.mySecondClass').each(function(j){ 
     // Here is the second 'THIS' occurrence 
     // How do i access the first occurrence from here? 
     //You can use firstClassThis here due to closure. 
    }); 
}); 
+0

'var firstClassThis = ceci;' est redondant. jQuery gère déjà ces identifiants. Vois ma réponse. – Sampson

+2

Si vous utilisez déjà index, votre code est meilleur. Si je ne m'intéressais pas à l'index, je capturerais probablement 'ceci' dans une variable locale. – SolutionYogi

+0

True. +1 – Sampson

1
$('.myFirstClass').each(function(i){ 
    var me = this; 
    $(this).find('.mySecondClass').each(function(j){ 
     alert($(me).attr('id')); 
    }); 
}); 

Cela devrait fonctionner.

+1

Vous devez spécifier le mot clé 'var' pour la variable 'moi'. – SolutionYogi

Questions connexes