我在这里做错了什么?对于第一个条件(=== 5),灰色类被删除但是没有用其他条件语句删除?
感谢您查看,
使用Javascript:
function getTrophy() {
$.ajax({
url: "ajax/ajax_dashboard.php?f=14",
type: "GET",
success: function(data) {
var json;
json = $.parseJSON(data);
if(parseInt(json.volunteer[0])===5) {
$("#volunteer-trophy").removeClass("grey");
}
if(parseInt(json.mindful[0])>=5) {
$("#mindful-trophy1").removeClass("grey");
}
if(parseInt(json.mindful[0])>=10) {
$("#mindful-trophy2").removeClass("grey");
}
if(parseInt(json.mindful[0])>=15) {
$("#mindful-trophy3").removeClass("grey");
}
if(parseInt(json.mindful[0])>=20) {
$("#mindful-trophy4").removeClass("grey");
}
}
})
}
JSON
{"volunteer" : "5", "mindful" : "10"}
答案 0 :(得分:0)
要实现预期的结果,所以您的代码应该是这样的:
if(parseInt(json.volunteer)===5) {
$("#volunteer-trophy").removeClass("grey");
}
if(parseInt(json.mindful)>=5) {
$("#mindful-trophy1").removeClass("grey");
}
更好的是,为了避免错误,您应该将volunteer
和mindful
存储在变量中:
var volunteer = parseInt(json.volunteer);
var mindful = parseInt(json.mindful);
if( volunteer === 5) {
$("#volunteer-trophy").removeClass("grey");
}
if( mindful >= 5) {
$("#mindful-trophy1").removeClass("grey");
}
更新:正如@charlietfl所指出的,最后3个条件是多余的,因为mindful > 5
的测试满足了后面三个条件的条件。