javascript - 比较负值在 Javascript 中不能正常工作

标签 javascript jquery comparison

我有以下代码,它根据单元格内的数值更改表格数据单元格的背景颜色。
虽然所有其他比较都按预期工作,但(val<(-3000)) 比较从未进入 block 。
这是代码:

//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变量的类型是number。

最佳答案

您的 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>

关于javascript - 比较负值在 Javascript 中不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45102225/

相关文章:

javascript - 在页面加载时将特定样式设置为 LI 元素

javascript - 使用 querySelectorAll 更新多个元素样式

javascript - 使用Javascript加载.tpl显示错误

JQuery和MySQL数据实时图

iphone - 如果标签相等,则更改 View

javascript - 如何在 raphael paper.image 中嵌入 base64 图像格式

javascript - 作为参数传递的函数是否总是回调? JavaScript

javascript - 客户端 javascript 可以创建一个太大而无法放入内存的文件下载吗?

actionscript-3 - 使用 "is"比较两个接口(interface)

c# - 比较使用 PropertyInfo.GetValue() 检索的值时出现意外结果