插件窝 干货文章 如何用JavaScript实现JSON数据中AssessingStatus字段值的条件颜色替换?

如何用JavaScript实现JSON数据中AssessingStatus字段值的条件颜色替换?

AssessingStatus 颜色 item 元素 902    来源:    2025-03-24

要在JavaScript中实现根据AssessingStatus字段的值来动态改变颜色的功能,你可以按照以下步骤进行:

  1. 解析JSON数据:首先,你需要解析包含AssessingStatus字段的JSON数据。
  2. 条件判断:根据AssessingStatus的不同值,设置不同的颜色。
  3. 应用颜色:将颜色应用到相应的HTML元素上。

下面是一个简单的示例代码,假设你有一个JSON对象数组,每个对象包含AssessingStatus字段,并且你想在网页上显示这些数据时,根据AssessingStatus的值改变文本颜色。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON Data Color Replacement</title>
    <style>
        .data-item {
            margin: 10px;
            padding: 10px;
            border: 1px solid #ccc;
        }
    </style>
</head>
<body>
    <div id="data-container"></div>

    <script>
        // 示例JSON数据
        const jsonData = [
            { "id": 1, "name": "Item 1", "AssessingStatus": "Approved" },
            { "id": 2, "name": "Item 2", "AssessingStatus": "Pending" },
            { "id": 3, "name": "Item 3", "AssessingStatus": "Rejected" }
        ];

        // 颜色映射
        const statusColorMap = {
            "Approved": "green",
            "Pending": "orange",
            "Rejected": "red"
        };

        // 获取容器元素
        const container = document.getElementById('data-container');

        // 遍历JSON数据并创建HTML元素
        jsonData.forEach(item => {
            const div = document.createElement('div');
            div.className = 'data-item';
            div.textContent = `${item.name} - ${item.AssessingStatus}`;

            // 根据AssessingStatus设置颜色
            const status = item.AssessingStatus;
            if (statusColorMap[status]) {
                div.style.color = statusColorMap[status];
            }

            // 将元素添加到容器中
            container.appendChild(div);
        });
    </script>
</body>
</html>

代码解释:

  1. JSON数据jsonData是一个包含多个对象的数组,每个对象都有AssessingStatus字段。
  2. 颜色映射statusColorMap是一个对象,用于将AssessingStatus的值映射到相应的颜色。
  3. HTML元素创建:通过遍历jsonData数组,为每个对象创建一个div元素,并根据AssessingStatus的值设置文本颜色。
  4. 颜色应用:使用div.style.color来设置文本颜色。

运行效果:

  • AssessingStatus"Approved"时,文本颜色为绿色。
  • AssessingStatus"Pending"时,文本颜色为橙色。
  • AssessingStatus"Rejected"时,文本颜色为红色。

你可以根据需要扩展这个示例,例如添加更多的状态或改变其他样式属性。