Comment créer l'objet jQuery depuis le tableau de jQuery objets?
Disons que j'ai un tableau de jQuery objets et que vous souhaitez avoir un composé objet jQuery à la place.
Quelle serait la solution autre que manuel traversant un tableau et ajouter les éléments à la juste créé objet jquery en utilisant .add()
?
Ce n'est pas faire ce que je veux:
var a = $('#a'),
b = $('#b'),
c = [a, b];
//the lines above is the set up, they cannot be changed
var d = $(c);
d.hide();
http://jsfiddle.net/zerkms/896eN/1/
Le résultat attendu est à la fois divs sont cachés.
Des idées?
- Votre violon semble avoir une erreur; il n'y a aucun élément
#c
. Edit: en ce qui concerne votre question, je croisadd()
peut être la seule option. Mais je ne suis pas entièrement sûr. - yep, c'était une faute de frappe, merci
Vous devez vous connecter pour publier un commentaire.
Essayer
Ou
La démo.
var d = $(c.map(function(el){ return el[0]; }));
. +1 parce qu'actuellement, c'est la seule réponse qui répond à la question d'originereturn el[0];
obtenez seulement le premier élément, si le sélecteur correspond à plusieurs éléments, à la gauche de l'élément ne sera pas end
.Je suis venu ici à la recherche d'un nettoyeur de réponse que j'avais déjà, mais n'a pas à en trouver un. Pour l'amour du prochain mec de venir je suppose que je vais poster ma solution à la place:
Je suis un peu surpris de voir qu'il n'est pas certains
jQuery
méthode spécifique qui fait de ce nettoyeur, maisArray.reduce
est certainement le bon outil pour ce travail si rien de plus spécifique existe dansjQuery
.Pouvez-vous essayez
a,b,c
variables à partir de l'exemple ne peut pas être modifiéc
!.add()
pourrait être un peu mieuxEssayez ceci:
ou:
En supposant que vous savez que vous avez un tableau d'objets jQuery, vous pouvez utiliser
$.each
de cycle à travers eux (ou tout simplement de les traiter comme un tableau normal de passer à travers eux). Vous pouvez l'utiliser pour créer un combiné sélecteur si vous le souhaitez, ou tout simplement faire des opérations sur eux dans l'itérateur.parameter.hide();
que c'est dans jsfiddle. Et il est conçu pour accepter objet jquery spécifiquementhide()
. Vous connaissez l'encapsulation? Eh bien, un peu de logique est encapsulé là, et j'ai besoin de passer un objet jquery en raison d'une fonction de l'interface.Edit: Cela va faire moche, tho: