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

tengo que modificar esta manera si el # una FAV tiene class = "activo", entonces debe hacerjQuery: si class = active?

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

lugar ¿Cómo puedo hacer esto?

Respuesta

21

que desea utilizar la función de hasClass

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

EDITAR: Y sólo por diversión, otra manera de escribir en un formato más reducido

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

+ 1 Me gusta tu última versión. Me di cuenta de que lo tenías, así que borré el mío. Aunque podría hacer una sola línea si se deshace de la variable 'uID'. : o) – user113716

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

Eche un vistazo rápido a la pregunta 'cómo formatear el código' en meta.stackoverflow.com: http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code -bloques –