3 votes

Pousser les éléments enfants dans un tableau global en utilisant jQuery

Je travaille sur un script qui va pousser chaque élément enfant dans un tableau global (pour traitement ultérieur dans mon script) mais pour une raison quelconque, il ne pousse pas réellement l'élément dans le tableau.

Code :

var childElements=new Array();    
function getChildren(elem){
            $(elem).children().each(function(index, value){
                childElements[index] = $(this);
            });
        }

Est-ce que je fais quelque chose de mal ?

3voto

user113716 Points 143363

Étant donné qu'un objet jQuery est un objet de type tableau, je l'utiliserais probablement au lieu de créer un tableau d'objets enveloppés individuellement.

var childElements=$(elem).children();

Si vous avez l'intention d'ajouter d'autres éléments, vous pouvez .push() toujours .add() de nouveaux éléments. Cela permet également de s'assurer qu'il n'y a pas de doublons.

var childElements= $();    
function getChildren(elem){
    childElements = childElements.add( $(elem).children() );
}

2voto

Saul Points 10449
$.each($(elem).children(), function(index, value){ 
                childElements[index] = $(this); 
            });

Edita: Patrick a raison. Si vous voulez simplement un tableau d'objets enfants, un simple var childElements = $('selector').children(); devrait suffire. Vous n'avez besoin de la fonction que si vous souhaitez que les valeurs de ce tableau contiennent (une combinaison d') attributs spécifiques d'éléments enfants.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X