डीओएम सभी डोम नोड्स को संरक्षित करता है, भले ही उन्हें डीओएम पेड़ से हटा दिया गया हो, फिर भी इन नोड्स को हटाने का एकमात्र तरीका पृष्ठ रीफ्रेश करना है (यदि आप सूची को आईफ्रेम में डालते हैं तो रीफ्रेश नहीं होगा के रूप में उल्लेखनीय हो)
अन्यथा, आप समस्या के लिए प्रतीक्षा करने के लिए पर्याप्त बुरा पाने के लिए है, जिन्हें ब्राउज़र कचरा कलेक्टर (कार्रवाई के लिए मजबूर है अप्रयुक्त नोड्स यहाँ) के मेगाबाइट के सैकड़ों
सर्वश्रेष्ठ अभ्यास नोड्स का पुन: उपयोग करने के लिए है में बात कर सकता है।
संपादित करें: यदि आप इसे इस तरह करना होगा
var garbageBin;
window.onload = function()
{
if (typeof(garbageBin) === 'undefined')
{
//Here we are creating a 'garbage bin' object to temporarily
//store elements that are to be discarded
garbageBin = document.createElement('div');
garbageBin.style.display = 'none'; //Make sure it is not displayed
document.body.appendChild(garbageBin);
}
function discardElement(element)
{
//The way this works is due to the phenomenon whereby child nodes
//of an object with it's innerHTML emptied are removed from memory
//Move the element to the garbage bin element
garbageBin.appendChild(element);
//Empty the garbage bin
garbageBin.innerHTML = "";
}
}
अपने संदर्भ में इसके इस्तेमाल के लिये: इस प्रयास करें
discardElement(this);
स्रोत
2010-09-24 08:18:57
मैं भी प्रत्येक तत्व $ (this) .unbind() एचटीएमएल ("") के लिए कर हटाने(); – podeig
मैंने सोचा कि jQuery तत्व ईवेंट हैंडलर को स्वचालित रूप से हटा देता है, जब आप element करते हैं .remove(), नहीं? – jayarjo
@jayarjo - यह – vsync