为什么这个jquery else if语句不起作用?

时间:2017-04-03 06:35:41

标签: javascript jquery if-statement

你能看一下吗?这是行不通的。我无法弄清楚原因。

$(document).ready(function() {
  var result = parseInt($('#kmi').text());
  if (result < 18, 5) {
    $("#line1").css("background-color", "#eee");
  } else if (result >= 18, 5 && result < 24, 9) {
    $("#line2").css("background-color", "#eee");
  } else if (result >= 25 && result = < 29, 9) {
    $("#line3").css("background-color", "#eee");
  } else if (result >= 30 && result = < 34.9) {
    $("#line4").css("background-color", "#eee");
  } else if (result >= 35 && result = < 39.9) {
    $("#line5").css("background-color", "#eee");
  } else if (result >= 40) {
    $("#line6").css("background-color", "#eee");
  } else {
    $("#line1").css("background-color", "#fff");
  }
}
});

2 个答案:

答案 0 :(得分:0)

你写了=>而不是<=,其中前一个将被视为一个赋值运算符,并且还有一个额外的}结束括号。

&#13;
&#13;
$(document).ready(function() {
  var result = parseInt($('#kmi').text());
  if (result < 18, 5) {
    $("#line1").css("background-color", "#eee");
  } else if (result >= 18.5 && result < 24.9) {
    $("#line2").css("background-color", "#eee");
  } else if (result >= 25 && result <= 29.9) {
    $("#line3").css("background-color", "#eee");
  } else if (result >= 30 && result <= 34.9) {
    $("#line4").css("background-color", "#eee");
  } else if (result >= 35 && result <= 39.9) {
    $("#line5").css("background-color", "#eee");
  } else if (result >= 40) {
    $("#line6").css("background-color", "#eee");
  } else {
    $("#line1").css("background-color", "#fff");
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

首先你应该将逗号更改为dot并使用=&gt;而不是&lt; =并且不要使用其他if语句,你可以为所有行使用一个类属性,因为所有CSS都具有相同的属性background-color,“#iee”是这样的,请检查if语句的条件

$(document).ready(function(){
var result = parseInt($('#kmi').text()); 
if(result<18.5 || result>=40){
$(".lines").css("background-color", "#eee");
}else{
    $("#line1").css("background-color", "#fff");
}

}
});