快速使用JavaScript中的JSON数据动态填充表格的方法
我正在尝试使用jQuery,JSON等,并遇到了以下任务。我在服务器上有一个加载程序脚本,该脚本以JSON格式返回表数据。收到JSON数据后,我想用它们填充表格。我目前正在使用类似于以下代码(有更多的列和一些更高级的处理,但您知道了):
...for (var key=0, size=data.length; key<size;key++) {
$('<tr>')
.append( $('<td>').html(
data[key][0]
) )
.append( $('<td>').addClass('whatever1').html(
data[key][1]
) )
.append( $('<td>').addClass('whatever2').html(
data[key][2]
) )
.appendTo('#dataTable');
}
...
<table id="#dataTable"></table>
...
这行得很好。但是一旦数据增长,它就会变得非常缓慢。对于很少的记录,大约需要5秒钟(Firefox,IE)来建立表,而且速度有点慢。例如,如果我在服务器上创建整个HTML并将其作为字符串发送(包括在表中),它将非常快。
那么,有没有更快的方法来填表?
我知道分页是什么,最后我将使用它,所以请不要说“页面上需要这么大的表吗?”。这个问题是关于无论您将显示多少记录,如何快速填写表格:)
回答:
请参阅我对使用数组和“join”的早期类似查询的[响应]。
直到最后一次只调用一次时,才使用jQuery。另外,通过将字符串存储在数组中并使用“ join”方法一次性构建字符串,还可以减少字符串连接。
例如
var r = new Array(), j = -1; for (var key=0, size=data.length; key<size; key++){
r[++j] ='<tr><td>';
r[++j] = data[key][0];
r[++j] = '</td><td class="whatever1">';
r[++j] = data[key][1];
r[++j] = '</td><td class="whatever2">';
r[++j] = data[key][2];
r[++j] = '</td></tr>';
}
$('#dataTable').html(r.join(''));
以上是 快速使用JavaScript中的JSON数据动态填充表格的方法 的全部内容, 来源链接: utcz.com/qa/405356.html