基于ID从JSON生成到HTML表

时间:2014-10-05 18:09:02

标签: jquery html json

所以我几乎是JSON的新手,对jquery来说还是个新手。我一直在努力学习如何基于JSON数据生成HTML表。但更重要的是,我将在其中包含多个具有不同JSON数组的表。

因此,使用给定here的解决方案,我成功地将数据生成到表中,但由于没有指定生成它的表,因此它会将数据生成到页面上的每个表中。我一直试图找出添加特定表ID的位置,但我放置它们的地方似乎都是错误的。

可用的基本代码,但将其放入每个表中:

    var tr;
    for (var i = 0; i < cte.length; i++) {
        tr = $('<tr/>');
        tr.append("<td>" + cte[i].accountName + "</td>");
        tr.append("<td>" + cte[i].advisor + "</td>");
        tr.append("<td>" + "Link".link(cte[i].link) + "</td>");
        $('table').append(tr);
    }

我的html表格代码:

<table id="cteTable">
    <tr>
        <th>Account Name</th>
        <th>Advisor</th>
        <th>Links</th>
    </tr>
</table>

<table id="saTable">
    <tr>
        <th>Account Name</th>
        <th>Advisor</th>
        <th>Links</th>
    </tr>
</table>

当我尝试做

tr = $('#cteTable <tr/>');
or
tr = $('#cteTable tr');

它不会生成任何内容,而是生成一个表。我知道我遇到的这个问题是由于缺乏对jquery和json的了解。因此,我们将非常感谢任何正确方向的帮助或指导。

1 个答案:

答案 0 :(得分:0)

的第一部分
tr = $('<tr/>');

是不必要的,它什么也不返回,使用jquery获取一个html元素你只需将它的标签名称/类名称/ Id放在引号内。

$('table')
$('.class') 
$('#id') 

要将生成的tr(实际上是字符串形式的html)放入表格中,您可以使用表格上的追加功能

$('#tableID').append(tr) 

当您使用表标记名称时,它会获取当前页面上的所有表格并将tr附加到它们。