0

我正在尝试<table>通过 javascript 函数创建一个。

我得到一个看起来像这样的 JSON 元素:

header
    ["Nom", "Région", "Activité", 10 more...]
0   "Nom"   
1   "Région"
2   "Activité"
// other fields 

body
    Object { entity0=[13], entity1=[13], entity2=[13], more...}

entity0
    ["Org2", "Org2", "Org2", 10 more...]

0    "Org2"
1    "Org2" 
2    "Org2"
//Other fields
entity1
    ["gfhu", "rtyud", "dgud", 10 more...]
//Other entities

我正在尝试像那样解码它(我解析 JSON 并将其提供给该函数):

function createTableEntity(tab, id){
    table = '<table cellpadding="0" cellspacing="0" border="0" class="display" id="'+id+'">';
    table = table + '<thead><tr>';
    $(tab.header).children().each(function(){
        table = table + '<td>' + this + '</td>';
    });
    table = table + '</tr></thead>';

    table = table + '<tbody>';

    $(tab.body).children().each(function(){
        table = table + '<tr>';

       $(this).children().each(function(){
           table = table + '<td>' + $(this) + '</td>';
       });

       table = table + '</tr>';
    });

    table = table + '</tbody>';

    table = table + '</table>';

    //alert(table);

    return table;
}

从我得到的结果来看,没有孩子($(tab.header).children().each(function(){});)。

它从何而来?如何遍历从 JSON 解析的元素?

4

1 回答 1

1

您不需要 jquery 循环遍历 JSON 解析的结果,因为它是一个 Javascript 对象。

如果你在 tab.header 中有一个数组,你可以简单地循环它

  $.each(tab.header, function() {

或者更经典,没有 jquery,使用

 for (var i=0; i<tab.header.length; i++) {
于 2012-06-22T11:05:23.330 回答