jquery添加表行效率

Tim*_*hle 2 jquery

我只是想知道通过jQuery添加很多(有时大约1000)表行的最有效方法是什么.目前我使用jQuery ajax通过JSON获取数据然后我循环遍历json对象并将html构造成变量然后将该html添加到表中.例如

var arrayObject = $.parseJSON(data);
var htmlToShow = '';
$.each(arrayObject, function(index, value){
    var htmlToShow += '<tr><td>' + value[0] + '</td><td>' + value[1] + '</td></tr>';
});
$('#tableResults').html(htmlToShow);
Run Code Online (Sandbox Code Playgroud)

我只是想知道这样做最不密集的方法是什么?提前致谢.

ham*_*czu 7

我认为在JSON中发送行数据比在服务器端发送HTML代码更好.在客户端执行此操作的有效方法是(数组操作比字符串连接快得多):

var rows = $.parseJSON(data);
var html = [];
for (var i=0; i < rows.length; i++){
    html.push('<tr><td>' + rows[i].column + '</td></tr>');
}    
$('#tableResults').html(html.join(''));
Run Code Online (Sandbox Code Playgroud)

更新:正如hradac在下面的评论中所示,在具有更快JS引擎(Chrome,FF)的较新浏览器上,字符串连接比数组连接更快 - 证明

  • 您对数组连接与字符串连接的看法曾经是多年前的事实.浏览器从那时起就进行了升级,并且连接通常更快(在IE8中甚至是连接).请参阅此测试http://jsperf.com/array-join-vs-string-connect (2认同)