我在頁面上有很多選擇輸入(96或384)。每個選項都有一個廣泛的選項列表 - 幾乎1000個。因此,頁面大小介於4-8MB(壓縮爲1-4MB)之間。我決定只通過放置一次選項列表來加快頁面加載速度,然後用JavaScript將其添加到每個輸入。將大量子元素附加到大量元素上的JavaScript性能
不幸的是,瀏覽器需要很多時間才能完成任務(在FF 10上約3分鐘)或掛起(Chrome 17)。我試圖用jQuery和純JS完成任務。根本沒有區別。
該任務是否可行?我應該知道如何編寫快速高效的JavaScript?
編輯:我把所有的選項,以一個字符串,並使用innerHTML把它放到選擇輸入。感謝您的快速響應。
Edit2:我按照Diodeus建議的方式生成元素。但是,當select元素處於焦點時,我加載選項(謝謝rlemon)。我相信所有的答案都是非常有幫助的,對於任何有類似問題的人來說都是有價值的謝謝你們。
也許你應該顯示你的JS代碼,所以我們可以看看它,但通常你可能會改變你的界面,並使用一個選擇從哪個值被添加到(只讀)輸入字段,而不是有很多大的選擇。 – Sirko 2012-02-27 15:29:01
也許你應該讓你的輸入onfocus加載選項列表......這樣每個輸入*將會稍微加載一些時間,但整個頁面應該很快。 – rlemon 2012-02-27 15:36:40
另一個好處。謝謝rlemon。 – Jacek 2012-02-27 15:37:58