Javascript 两个按钮,喜欢和讨厌的颜色切换。我不知道';我不明白为什么颜色赢了';我的代码不能更改
我有两个按钮,爱和恨。当爱被点击时,它应该改变颜色;当恨被点击时,它应该改变颜色。他们应该切换颜色。我这里有一把小提琴; 有人能告诉我我做错了什么吗Javascript 两个按钮,喜欢和讨厌的颜色切换。我不知道';我不明白为什么颜色赢了';我的代码不能更改,javascript,jquery,Javascript,Jquery,我有两个按钮,爱和恨。当爱被点击时,它应该改变颜色;当恨被点击时,它应该改变颜色。他们应该切换颜色。我这里有一把小提琴; 有人能告诉我我做错了什么吗 <div class="panel-footer"> <span class="thumb" style="padding-right:7px;"><a href="/post/{{ post.slug }}/vote?is_up=1" class="vote"><i class="fa f
<div class="panel-footer">
<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>love</a></span>
<span class="thumb"><a href="/post/{{ post.slug }}/vote?is_up=0" class="vote"><i class="fa fa-thumbs-o-down"></i>hate</a></span>
<span style="float:right;">
<span class="time_presentation">{{ post.pub_date | date }}</span>
{{ post.moderator.user }} submit <i class="fa fa-eye"> {{ post.views }}
</i></span>
</div>
var toggle = false;
$(".thumb a").click(function(e){
var target =$(e.target); e.preventDefault();
if(target.data("change")){
target.css({ color:"red"});
}else{
var thumb = $(".thumb [data-change]");
thumb.css({color:"blue"})
}
return false;
})
{{post.pub_date}
{{post.moderator.user}}提交{{post.views}
var-toggle=false;
$(“.thumb a”)。单击(函数(e){
var target=$(e.target);e.preventDefault();
if(目标数据(“变更”)){
css({color:“red”});
}否则{
var thumb=$(“.thumb[数据更改]”);
css({color:“blue”})
}
返回false;
})
您正在使用数据属性,但从未将其设置到html中。首先,将初始数据属性设置为html,这样就可以了
target.data(“change”)
总是给出未定义的,这在JavaScript中是错误的,因此target.css({color:“red”})
永远不会执行
及
$(“.thumb[数据更改]”)
始终为空,因此thumb.css({color:“blue”})
对任何dom元素都没有影响
关于您正在使用数据属性,但从未将其设置到html中。首先,将初始数据属性设置为html,这样就可以了
target.data(“change”)
总是给出未定义的,这在JavaScript中是错误的,因此target.css({color:“red”})
永远不会执行
及
$(“.thumb[数据更改]”)
始终为空,因此thumb.css({color:“blue”})
对任何dom元素都没有影响
关于您可以使用简单的
if
条件来实现这一点.text()
将返回目标元素的textContent
$(“.thumb a”)。单击(函数(e){
var目标=$(e.target);
e、 预防默认值();
$('.vote').removeClass('红蓝')
如果(target.text()=='love'){
target.addClass('red');
}否则{
target.addClass('blue');
}
});代码>
.red{
颜色:红色;
}
蓝先生{
颜色:蓝色;
}
a{
颜色:黑色;
}
{{post.pub_date}{{post.版主.user}}提交{{post.views}
您可以使用简单的if
条件来实现这一点.text()
将返回目标元素的textContent
$(“.thumb a”)。单击(函数(e){
var目标=$(e.target);
e、 预防默认值();
$('.vote').removeClass('红蓝')
如果(target.text()=='love'){
target.addClass('red');
}否则{
target.addClass('blue');
}
});代码>
.red{
颜色:红色;
}
蓝先生{
颜色:蓝色;
}
a{
颜色:黑色;
}
{{post.pub_date}{{post.版主.user}}提交{{post.views}
if(target.data(“change”){..}的目的是什么if(target.data(“change”){..}