2010-08-12 55 views
1

我有一个巨大的表,1排用2600左右的列(这是一个甘特图)jQuery和克隆巨大的表

我想要做的就是克隆此表和100倍复制到某处页面(而不是重新绘制表格100倍,这似乎是低效率的,我是错的)

var $templateTable = $("div#GTT_TLayout").clone(); 
//there are 100 divs matching it 
$("div[id ^= 'taskgrid_bar_' ]").each(function(){ 
    ... 
    $(this).before($templateTable.html()); 
}); 

的问题是,一些客户遇到这种“脚本超时”的问题。

所以我的问题是,有没有更好的方式来做到这一点,更有效率?

非常感谢

+0

您是否尝试过''templateTable'传递给'before()'而不调用'.html()'? – Pointy 2010-08-12 14:24:27

+0

我知道这是非常不切线的,但是如果你正在处理那么大的事情,并且如果客户端脚本太慢,那么逻辑下一步就是转向服务器端脚本? – 2010-08-12 15:34:52

+0

@Pointy,试过这个,出于某些原因,它没有生成表 和@Yi Jiang,也试过了。但是,性能比JQuery更糟糕。尽管最终它会产生,但非常缓慢。我可以看到每行每次生成一行。好处是可以保证图表生成。 – Liming 2010-08-13 13:21:56

回答

0

你不如做对$templateTable.each.html()通话,因为在调用该100次毫无意义的。无论如何,这应该会有所帮助。

+0

好点@amurra。试了一下,改进了一点,仍然导致问题取决于个人电脑。 :( – Liming 2010-08-13 13:20:58