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

我需要这样修改此,如果一个#最爱具有类=“主动”,那么它应该做的jQuery:如果class = active?

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

代替 我怎样才能做到这一点?

回答

21

您想使用的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我喜欢你的最新版本。刚注意到你有它,所以我删除了我的。尽管如果你摆脱了'uID'变量,你可以使它成为单行。 :o) – user113716 2010-09-05 16:05:50

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

请快速浏览一下meta.stackoverflow.com上的'如何格式化代码'问题:http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code -blocks – 2010-09-05 15:59:36