Comment faire fondre tous les divs dans un conteneur sauf un avec jQuery?
Question
J'ai ceci:
$("#id").click(function() {
$('.swoosh div').fadeOut('fast', function(){
$('.template').fadeIn('fast');
});
});
.swoosh
est le div du conteneur, et
.template
est le div que je veux conserver lorsque je clique sur #id
, tandis que toutes les autres divs à l'intérieur de .swoosh
disparaissent.
Je me sens un peu ridicule, mais j'ai joué pendant des siècles sans résultat.S'il vous plaît, aidez un frère.
La solution
Vous pouvez probablement utiliser le not
[doc]
$("#id").click(function() {
$('.swoosh div:not(.template)').fadeOut('fast');
});
Autres conseils
$('.swoosh div[class!="template"]').fadeOut('fast');
$("#id").click(function() {
$('.swoosh div').fadeOut('fast');
$('.template').fadeIn('fast');
});
Puisque vous supprimez le conteneur DIV, il semble logique que tous les éléments de ce DIV disparaissent également.Donc, ce que vous pouvez faire, c'est extraire l'élément du conteneur div et le placer ailleurs dans le DOM, avant de faire disparaître le conteneur DIV.De cette façon, il devrait rester visible.
ancienne question mais cela fonctionnerait aussi
$("#id").click(function() {
$('.swoosh div').not($('.template')).fadeOut('fast');
});