0

我目前有这个

$(document).ready(function(){

like = "like";
current_likes = parseInt(50);
    $("#add-love").click(function(){
        if(like = "like"){
            $("#my_like").removeClass('hidden-profile');
            current_likes++;
            $("#like_count").html(current_likes);
            like = "unlike";
            console.log(like);
        }else{
            $("#my_like").addClass('hidden-profile');
            current_likes--;
            $("#like_count").html(current_likes);
            like = "like";
        }
    });
});

但是当我点击like按钮时,它会更新like计数器和变量(我已经通过记录它来检查它)但是当它第二次被点击时它不会落入if语句的第二部分,而是它只是起作用好像还是喜欢=“喜欢”?

4

1 回答 1

4

你是在分配=,而不是比较==

if(like = "like"){
// Should be
if(like == "like"){
//------^^^

请注意,您已将变量声明likewindow范围,因为您没有使用var关键字。如果它应该仅限于ready()函数,请在函数var like = 'like';内部使用ready()。如果您确实打算在window范围内使用,建议var在函数之外使用关键字ready()

// Declare at higher scope
var like;  
$(document).ready(function(){
  // And access in the function...
  like = "like";
  current_likes = parseInt(50);
  //etc...
  //etc...
});
于 2012-07-01T21:02:32.750 回答