我想给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)"});
}发布于 2011-07-07 17:20:50
在JavaScript中,这两个条件都为true:
"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.
}
}发布于 2011-07-07 17:17:35
rating是一个字符串,您需要将其转换为浮点型。使用您当前的代码,它永远不会匹配,并且您得到的默认大小写是白色
var rating = parseFloat($(".rating").text());发布于 2011-07-07 17:18:08
如果你只是想设置颜色,它就是背景色。不是背景。
https://stackoverflow.com/questions/6608335
复制相似问题