我想要为div.rating
着色。但是,对于值0.0
,1.0
或2.0
等,div背景始终为白色。请问错在哪里?
这是我的代码:
var rating = $(".rating").text();
if("0.0" < rating && rating < "1.6")
{
$(".rating").css({background: "red", color: "rgb(140,60,60)"});
}
else if("1.7" < rating && rating < "2.4")
{
$(".rating").css({background: "yellow", color: "rgb(140,140,60)"});
}
else if("2.5" > rating && rating > "5.0")
{
$(".rating").css({background: "green", color: "rgb(60,140,60)"});
}
else
{
$(".rating").css({background: "white", color: "rgb(60,60,60)"});
}
答案 0 :(得分:3)
rating是一个String,你需要将它转换为float。使用您当前的代码,它永远不会匹配,您将获得默认情况,即白色
var rating = parseFloat($(".rating").text());
答案 1 :(得分:1)
在JavaScript中,这些条件都是真的:
"0.0" < "5"; // true;
"10" < "5"; // true;
您必须先将评级值转换为数字。试试这个:
var rating = Number($('.rating').text()); // Converting the string into number
if(Boolean(rating)) // If the text was a valid number
{
if ( 0 < rating && rating < 0)
{
// Now do what you want to do here.
}
}
答案 2 :(得分:0)
如果您只想设置颜色,则为背景色。不是背景。