我有以下代码,它根据单元格内的数值更改表格数据单元格的背景颜色
虽然所有其他比较都按预期工作,但(val<( - 3000))比较从不进入块。
这是代码:
//Change Background Color for all P/L values
$(".PLcolors").each(function(index, value) {
var val = Number(parseFloat($(this).text(), 10));
console.log("value is " + val);
if (val === 0) {
$(this).css("background-color", "#DCDCDC");
} else if ((val => -3000) && (val <= 3000)) {
$(this).css("background-color", "#F0E68C");
} else if (val < (-3000)) {
$(this).css("background-color", "#FF0000");
} else if ((val > 3000)) {
$(this).css("background-color", "#008000");
}
});
val变量的类型是数字。
答案 0 :(得分:2)
您的JS内部存在错误,您设置了=>
而不是>=
。将其修复为:
else if (val >= -3000 && val <= 3000) {
//Change Background Color for all P/L values
$(".PLcolors").each(function(index, value) {
var val = Number(parseFloat($(this).text(), 10));
console.log("value is " + val);
if (val === 0) {
$(this).css("background-color", "#DCDCDC");
} else if (val >= -3000 && val <= 3000) {
$(this).css("background-color", "#F0E68C");
} else if (val < -3000) {
$(this).css("background-color", "#FF0000");
} else if ((val > 3000)) {
$(this).css("background-color", "#008000");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="PLcolors">1</li>
<li class="PLcolors">-3001</li>
<li class="PLcolors">3001</li>
<li class="PLcolors">0</li>
</ul>