看板 Ajax 關於我們 聯絡資訊
或許這不是 jQuery 的問題吧 上網查了一下似乎是因為 innerhtml 的狀況 大致上的使用情況如下 頁面中使用了蠻多的 $(selector).html(..) 的方式加入一段 html 然後清除的時候使用 $(selector).html(""); 光是這樣反覆的操作就會讓記憶體不斷的增加 不知是是否有比較有效率的方式能解決這樣不斷增加的記憶體呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.81.84
dreamerslab:用$(selector).children().remove()就不會有這個問題 12/09 21:10
kaijajan:我再試試看 @@ 感謝樓上的回答 ^^ 12/10 00:03
dreamerslab:我記得是因為.html('')不會把data,event handlder等等 12/10 00:42
dreamerslab:一起移除的樣子 12/10 00:43
JYHuang:我有點好奇,如果.html()裡有一堆js的程式 12/10 13:58
JYHuang:在.remove()之後呼叫的話還會不會有效? 12/10 13:58
TonyQ:js被執行之後就進記憶體啦,那些只是plaintext而已。 12/10 14:03
dreamerslab:或是直接$(selector).empty()也是一樣 12/10 15:10
dreamerslab:http://api.jquery.com/empty/這裡有講到memory leak 12/10 15:11
JYHuang:@TonyQ:那如果又被重複呼叫的話,會不會又多佔記憶體呢? 12/10 15:44
TonyQ:你這個問題仍然是大哉問啊。:P 存的東西變多的話當然是會, 12/10 19:15
kaijajan:網頁搞到太麻煩...用了上面的功能memory還是一直增加 囧 12/16 00:31
kaijajan:大概要花不少時間看問題在那了 Orz 12/16 00:32
kaijajan:感謝dreamer大的幫忙呀 ^^ 12/16 00:32