jQuery:如果class = active?

Kar*_*rem 8 jquery

$(document).ready(function() {    
    $('a#fav').bind('click', function() {
        addFav(<?php echo $showUP["uID"]; ?>);
    });
});
Run Code Online (Sandbox Code Playgroud)

我需要修改这个,所以如果#ef有class ="active"那么应该这样做

  removeFav(<?php echo $showUP["uID"]; ?>);
Run Code Online (Sandbox Code Playgroud)

相反,我该怎么做?

Der*_*k H 24

您想使用该hasClass功能

$(document).ready(function() {    
    $('a#fav').bind('click', function() {
        if($(this).hasClass('active')) {
            removeFav(<?php echo $showUP["uID"]; ?>);
        }
        else {
            addFav(<?php echo $showUP["uID"]; ?>);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

编辑:只是为了好玩,另一种方式是以更浓缩的格式编写它

$(function() {    
    $('a#fav').bind('click', function() {
        var uID = <?php echo $showUP["uID"]; ?>;
        ($(this).hasClass('active') ? removeFav : addFav)(uID);
    });
});
Run Code Online (Sandbox Code Playgroud)