json2html - 使用 json2html 基于数据值转换数据时如何应用不同的样式?

标签 json2html

我正在尝试使用 json2html 格式化数据

数据如下:

            var data = [
                {'name':'Bob','level':1},
                {'name':'Frank','level':2},
                {'name':'Bill','level':3},
                {'name':'Robert','level':1},
                {'name':'Chen','level':3},
                {'name':'Will','level':2}
            ];

变换如下:

var transform = {"tag":"div","class":"player","children":[
                {"tag":"div","class":"p-name","html":"${name}"},
                {"tag":"div","style":"background:yellow","class":"p-level","html":"${level}"}
]}

但我需要上面 div 的背景颜色根据级别进行着色,例如级别 1 - 黄色,级别 2 - 绿色,级别 3 - 红色。

最佳答案

简单..使用内联函数来设置样式

var transform = {"tag":"div","class":"player","children":[
            {"tag":"div","class":"p-name","html":"${name}"},
            {"tag":"div","style":function(){

                 var color;

                 switch(this.level) {
                   case 1: color = 'yellow';
                   case 2: color = 'green';
                   case 3: color = 'red';
                 };

                 return('background-color:' + color);

            },"class":"p-level","html":"${level}"}
]};

或者最佳实践是设置类并在 css 中应用样式,如下所示

var transform = {"tag":"div","class":"player","children":[
            {"tag":"div","class":"p-name","html":"${name}"},
            {"tag":"div","class":"p-level color-level-${level}","html":"${level}"}
]};

.color-level-1 {background-color:yellow;}
.color-level-2 {background-color:green;}
.color-level-3 {background-color:red;}

关于json2html - 使用 json2html 基于数据值转换数据时如何应用不同的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25660023/

相关文章:

javascript - 使用 json2html 渲染 anchor href

javascript - 每个记录使用node-json2html给出单独的html表

javascript - json2html如何处理json键中的特殊字符(例如@)

javascript - 如何退出 HTML 中的 javascript/node.js

jquery - JSON2HTML - 选择在 JSON 对象中剥离的标签

javascript - 如何使用 jQuery 的 json2html 将文件内的文本渲染到另一个 html 页面中?

javascript - json2html,我需要将点击事件添加到生成的html中

python - json2html,Python : json data not converted to html

python - 无法安装 json2html python 模块

javascript - 从 JSON 插入 HTML 选择标签选项