JQuery:附加到表头

时间:2016-10-05 14:55:05

标签: jquery ajax append html-table head

所以我试图将数据从Url追加到表头。从URL调用的数据是字符串列表。因此,您可以看到我尝试浏览列表中的每个值,然后将其附加到我的表格的前面,数据'。 但是当我运行代码时,没有附加任何内容。我知道数据正在进入,因为窗口警报正在显示每个字符串。

JQuery的:

$(document).ready(function () {
    $.ajax({
        url: 'http://..../api/Dynamic?table=table1',
        dataType: 'Json',
        success: function (tableResults) {
            var count = 0;
            $.each(tableResults, function () {
                window.alert(this);
                $('#data th:last-child').append('<th><a id="count">' + this + '</a></th>');
                count++;
            });
        }
    });
});

HTML:

<table id="data" border="1" align="center" width="95%">
        <thead>
            <tr>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果tableResults是一个字符串数组,你可以直接使用每个参数,并避免使用count变量,如下面的代码片段(使用后代替append,因为新的元素必须跟随而不是最后一个的子元素) :

&#13;
&#13;
//
// if thead does not exist
//
if ($('#data thead').length == 0) {
  $('#data').append($('<thead/>'));
}

$.each(['email', 'address', 'country'], function (index, value) {
  if ($('#data th:last-child').length == 0) {
     //
     // if there are no th
     //
    $('#data thead').append('<th><a id="count' + index + '"</a>' + value + '</th>');
  } else {
    $('#data th:last-child').after('<th><a id="count' + index + '"</a>' + value + '</th>');
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<table id="data" border="1" align="center" width="95%">
  <thead>
    <tr>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>
&#13;
&#13;
&#13;