JQuery выбрать элемент, который не имеет активного класса - PullRequest
1 голос
/ 14 декабря 2011

Я хочу сделать анимацию, когда пользователь нажимает на элемент.За исключением случаев, когда элемент имеет класс «активный».

<div class="collectionContainer">
            <div class="collectionName">SPRING SUMMER <br> 2012</div>
            <div class="collSex"><a href="#" id="collection1-man" class="active"> MAN </a></div>
            <div class="collSex"><a href="#" id="collection1-woman"> WOMAN </a></div>
        </div> 

мой код jquery

$('.collSex a').click(function(){
        $('.collSex a').removeClass('active');
        $(this).addClass('active');
        ...
        ...
    });

Когда элемент имеет активный класс, я не хочу делать действие / анимацию...

Как мне это сделать ??

Ответы [ 4 ]

3 голосов
/ 14 декабря 2011

Вы можете использовать метод .hasClass [документы] :

$('.collSex a').click(function(){
    if(!$(this).hasClass('active'))
        $('.collSex a.active').andSelf().toggleClass('active');
        //...
    }
});

или использовать делегирование события:

$('.collSex').on('click', 'a.active', function() {
    $('.collSex a.active').andSelf().toggleClass('active');
    //...
});
2 голосов
/ 14 декабря 2011
$('.collSex a').click(function(){ 
    if($(this).hasClass('active'))
    ... 
    ... 
}); 
1 голос
/ 14 декабря 2011

возможно, вы можете воспользоваться селектором , а не

$('collsex a:not(.active)').click(function(){ ....};
1 голос
/ 14 декабря 2011

Попробуйте использовать метод jQuery hasClass.

$('.collSex a').click(function(){ 
    if(!$(this).hasClass('active'))
    {
         //Your code here.
    } 
}); 
...