jquery - 可变颜色不根据值改变

标签 jquery css json html xmlhttprequest

我正在尝试根据值将颜色分配给 HTML 变量。从 JSON 中可以很好地选取值,但颜色没有改变。

下面是调用变量并赋值的脚本:

<script>
  var xmlcurrgct = new XMLHttpRequest();
  var urlcurrgct = "../json/currgct.json";
  xmlcurrgct.onreadystatechange = function() {
    if (xmlcurrgct.readyState == 4 && xmlcurrgct.status == 200) {
      console.log("xmlcurrgct.responseText", xmlcurrgct.responseText);
      var obj1 = JSON.parse(xmlcurrgct.responseText);
      console.log("obj1", obj1);
      document.getElementById("currgct").innerHTML = obj1.text.currgct;
    }
  }
  xmlcurrgct.open("GET", urlcurrgct, true);


  var color;
  switch (currgct) {
    case "UP":
      color = "yellow";
      break;
    case "DOWN":
      color = "red";
      break;
  };
  xmlcurrgct.send();;
</script>

我不确定我遗漏了什么。该变量可以有 2 个值 UPDOWN

JSON:
{"text":{"currgct":"UP"}}

谁能帮我找出我哪里出错了?

最佳答案

试试这个:

var xmlcurrgct = new XMLHttpRequest();
var urlcurrgct = "../json/currgct.json";
xmlcurrgct.onreadystatechange = function () {
    if (xmlcurrgct.readyState == 4 && xmlcurrgct.status == 200) {
        console.log("xmlcurrgct.responseText", xmlcurrgct.responseText);
        var obj1 = JSON.parse(xmlcurrgct.responseText);
        console.log("obj1", obj1);
        document.getElementById("currgct").innerHTML = obj1.text.currgct;

        // You need to wait for the asynchronous response.
        var color;
        switch (obj1.text.currgct) {
            case "UP":
                color = "yellow";
                break;
            case "DOWN":
                color = "red";
                break;
        };

        document.getElementById("currgct").setAttribute("style", "color: " + color + ";");
    }
}
xmlcurrgct.open("GET", urlcurrgct, true);
xmlcurrgct.send();

关于jquery - 可变颜色不根据值改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32578766/

相关文章:

javascript - jQuery stopPropagation() 在多个子对象上

Jquery Post - Itunes API 返回 200 和错误

javascript - 可拖动的 div 背景在 div1 上为一种颜色,在 div2 上为另一种颜色

php - 在 php 中获取已知键的值失败

c# - 如何将具有动态根名称的 json 转换为 C# 列表

jquery - 如何使用 jQuery 隐藏基于特定类和内容的元素?

jquery - 消息滚动条,如 Facebook 消息

c# - 样式和脚本在局部 View 中不起作用

javascript - 如何使用 jQuery 更改仪表大小?

python - Messenger JSON 中的编码