Как исчезнуть все div в контейнере, кроме одного с jQuery? - PullRequest
1 голос
/ 09 сентября 2011

У меня есть это:

$("#id").click(function() {
    $('.swoosh div').fadeOut('fast', function(){
        $('.template').fadeIn('fast');
    });
});

.swoosh - это контейнер div, а .template - это div, который я хочу оставить, когда нажимаю #id, в то время как все остальные divизнутри .swoosh исчезают.

Я чувствую себя немного глупо, но я играл годами безрезультатно.Пожалуйста, помогите брату.

Ответы [ 5 ]

4 голосов
/ 09 сентября 2011

Возможно, вы можете использовать селектор not [doc]

$("#id").click(function() {
    $('.swoosh div:not(.template)').fadeOut('fast');
});
2 голосов
/ 09 сентября 2011
    $('.swoosh div[class!="template"]').fadeOut('fast');
0 голосов
/ 06 мая 2016

старый вопрос, но это тоже сработает

$("#id").click(function() {
    $('.swoosh div').not($('.template')).fadeOut('fast');
});
0 голосов
/ 09 сентября 2011

Поскольку вы гасите контейнер DIV, кажется логичным, что все элементы в этом DIV также гаснут. Итак, что вы можете сделать, это извлечь элемент из контейнера div и поместить его где-то еще в DOM, перед тем как исчезнуть контейнер DIV. Таким образом, он должен оставаться видимым.

0 голосов
/ 09 сентября 2011
$("#id").click(function() {
    $('.swoosh div').fadeOut('fast');
    $('.template').fadeIn('fast');
});
...