这个问题,使用模板语言会比较好做些,我这里用的是Juicer 模板引擎,例子如下:
Document选项id性别年龄
function table_html(data) {
var tpl = [
'{@each content as it, k}',
'
','{@if it.age.length==0}',
'
','
${it.id}','
${it.sex}','{@else}',
'
','
${it.id}','
${it.sex}','{@/if}',
'
${it.age[0]}','
','{@if it.age.length>=2}',
' {@each it.age as it2, j}',
'{@if j!=0}',
'
','
${it2}','
','{@/if}',
' {@/each}',
'{@/if}',
'{@/each}',
].join("\n");
return juicer(tpl, data);
}
//假如后端获取到的数据是下面这样的格式:(如果不是,你可以自己写个循环拼成这样,或者让后端改一下返回的数据格式)
var data = {
content: [
{ id: 1, sex: '男', age: [18, 28] },
{ id: 2, sex: '男', age: [20] },
{ id: 3, sex: '女', age: [25] },
]
};
var htl = table_html(data);
$('#tbody').html(htl);
效果如图: