Javascript 再次单击时,我希望颜色消失。(喜欢/讨厌按钮,一切正常,但如果我两次单击喜欢按钮,我希望颜色消失)

Javascript 再次单击时,我希望颜色消失。(喜欢/讨厌按钮,一切正常,但如果我两次单击喜欢按钮,我希望颜色消失),javascript,jquery,Javascript,Jquery,所以我有两个喜欢和讨厌的按钮。 它几乎可以像我想的那样工作,当我点击按钮时,它会变成蓝色。如果单击“恨”,则“恨”按钮将变为蓝色,而“类”按钮将返回其原始状态。 但唯一的问题是,如果我点击“喜欢”两次,那么“喜欢”按钮应该会回到其原始状态。我不知道如何完成这项任务 我现在有这个, <span class="thumb" style="padding-right:7px;"><a href="/post/{{ post.slug }}/vote?is_up=1" class="v

所以我有两个喜欢和讨厌的按钮。 它几乎可以像我想的那样工作,当我点击按钮时,它会变成蓝色。如果单击“恨”,则“恨”按钮将变为蓝色,而“类”按钮将返回其原始状态。 但唯一的问题是,如果我点击“喜欢”两次,那么“喜欢”按钮应该会回到其原始状态。我不知道如何完成这项任务

我现在有这个,

<span class="thumb" style="padding-right:7px;"><a href="/post/{{ post.slug }}/vote?is_up=1" class="vote"><i class="fa fa-thumbs-o-up"></i>like</a></span>   
<span class="thumb"><a href="/post/{{ post.slug }}/vote?is_up=0"  class="vote"><i class="fa fa-thumbs-o-down"></i>dislike</a></span>
<script>
$(".thumb a").click(function(e) {
  var target = $(e.target);
  e.preventDefault();
  $('.vote').removeClass('red blue')
  if (target.text() == 'love') {
    target.addClass('red');
  } else {
    target.addClass('blue');
  }
});
</script>

$(“.thumb a”)。单击(函数(e){
var目标=$(e.target);
e、 预防默认值();
$('.vote').removeClass('红蓝')
如果(target.text()=='love'){
target.addClass('red');
}否则{
target.addClass('blue');
}
});

我做错了什么?

根据我的理解,“爱”应该是喜欢的,因为代码中只有“喜欢”和“不喜欢”。“喜欢”应该是红色,“不喜欢”应该是蓝色

$(".thumb a").click(function(e) {
    var target = $(e.target);
    e.preventDefault();
    if (target.hasClass('blue')) {
        $('.vote').removeClass('blue');
    } else {
        $('.vote').removeClass('blue');
        target.addClass('blue');
    }
});
$(“.thumb a”)。单击(函数(e){
var目标=$(此),
active=target.is('.red,.blue');
e、 预防默认值();
$('.vote').removeClass('red-blue');
如果(!活动){
if(target.text()=='like'){
target.addClass('red');
}否则{
target.addClass('blue');
}
}
});
.red{
背景:红色;
}
蓝先生{
背景:蓝色;
}

根据我的理解,“爱”应该是喜欢的,因为在你的代码中只有“喜欢”和“不喜欢”。“喜欢”应该是红色,“不喜欢”应该是蓝色

$(“.thumb a”)。单击(函数(e){
var目标=$(此),
active=target.is('.red,.blue');
e、 预防默认值();
$('.vote').removeClass('red-blue');
如果(!活动){
if(target.text()=='like'){
target.addClass('red');
}否则{
target.addClass('blue');
}
}
});
.red{
背景:红色;
}
蓝先生{
背景:蓝色;
}


或者根据您的方法,您还需要更改文本以使条件生效。。(love=>hate,反之亦然。)不确定它是如何工作的。当您单击目标时,它将是一个标记&我看不到目标。text()=='love'。如果您创建了一个有帮助的JSFIDLE或与您的方法相关的JSFIDLE,您还需要更改文本以使条件生效。。(love=>hate,反之亦然。)不确定它是如何工作的。当您单击目标时,它将是一个标记&我看不到目标。text()==“love”。如果您创建一个JSFIDLE,这将非常有用