我真的好奇,如果jQuery remove函數真的從DOM中刪除元素。
首先,我看了here但答案並不令人信服。
當我注意到我仍然可以操作我稱之爲刪除函數的元素時,我遇到了這個問題。
jQuery刪除函數是否真的刪除Dom元素?
我的代碼:
<div id="container">
<div id="div">
This is a div
</div>
</div>
var div = $('#div');
$('#div').remove();
$('#container').append(div);
注:我的問題是不如何解決這個問題?但我想了解這裏發生了什麼!
實際上,這段代碼並沒有從dom中刪除#div,但是如果我有任何數據設置爲#div,它將會丟失。我現在很困惑,刪除功能的行爲。任何人都可以解釋這個嗎? DEMO
我深信,DIV變量不僅僅是一個DOM元素的克隆,是對它的引用,因爲當我操縱DIV變量(如div.html('something')
)DOM中的DIV得到更新。
還是我錯了?
是的,也許http://api.jquery.com/remove/解開謎團:) ) –
只要某個東西引用該對象(存儲在變量中),它就會從DOM中移除,但不會從內存中移除。 – Joseph
@Tats_innit Dude,你真的覺得我之前沒有讀過嗎? – skafandri