jQuery:如果class = active?

时间:2010-09-05 15:44:35

标签: jquery

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

我需要修改这个,所以如果#ef有class =“active”那么它应该

  removeFav(<?php echo $showUP["uID"]; ?>);

代替 我怎么能这样做?

3 个答案:

答案 0 :(得分: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"]; ?>);
        }
    });
});

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

$(function() {    
  $('a#fav').click(function() {
    return ($(this).hasClass('active'))
      ? removeFav('<?php echo $showUP["uID"]; ?>')
      : addFav('<?php echo $showUP["uID"]; ?>');
  });
});