2010-08-12 67 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