Исчезающие изображения в jQuery - PullRequest
2 голосов
/ 22 января 2010

Как мне исчезнуть все изображения внутри класса bMenu, которые не # b2 с jQuery? Спасибо.

<div class="bMenu" id="b1"><img src='b1.jpg'></div>
<div class="bMenu" id="b2"><img src='b2.jpg'></div>
<div class="bMenu" id="b3"><img src='b3.jpg'></div>

Ответы [ 5 ]

2 голосов
/ 22 января 2010

Дословный ответ:

$(".bMenuL:not(#b2) img").fadeOut();

Если вы хотите убедиться, что #b2 img также отображается:

$("#b2 img").fadeIn();
1 голос
/ 22 января 2010

Сделайте все сразу с помощью цепочки:

$("#b2 img").show().parent().siblings(".bMenu").find("img").fadeOut();
1 голос
/ 22 января 2010

Попробуйте

$('.bMenu:not(#b2) img').fadeOut('slow');
1 голос
/ 22 января 2010
$('img', '.bMenu:not(#b2)').fadeOut();
0 голосов
/ 22 января 2010

Попробуйте это:

#('.bMenu > img').each(function(it){
    if(it.attr('id') != 'b2'){
        it.fadeOut();
    }
});

Может быть, это можно сделать с помощью чистых селекторов, но это должно сработать.

Добавлено позже:

Хорошо, я пошел и сделал тест ... вот что я придумал:

$('div[id!=b2].bMenu > img').each(function(){
    $(this).fadeOut();
});

Этот селектор вернет два изображения, а не изображение с b2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...