empty()
और remove()
jQuery
में विधियों के बीच क्या अंतर है, और जब हम इनमें से किसी भी विधि को कॉल करते हैं, तो बनाई जा रही वस्तुओं को नष्ट कर दिया जाएगा और स्मृति जारी की जाएगी?jQuery खाली() बनाम हटाएं()
उत्तर
empty()
चयन की सभी सामग्री हटा देगा।remove()
चयन और इसकी सामग्री को हटा देगा।
पर विचार करें:
<div>
<p><strong>foo</strong></p>
</div>
$('p').empty(); // --> "<div><p></p></div>"
// whereas,
$('p').remove(); // --> "<div></div>"
उन दोनों डोम वस्तुओं को हटाने और स्मृति वे तक का समय लग जारी करना चाहिए, हाँ।
प्रलेखन इसे बहुत अच्छी तरह से समझाता है।
से पहले:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.remove():
$('.hello').remove();
के बाद: यह भी उदाहरण दिए गए हैं
<div class="container">
<div class="goodbye">Goodbye</div>
</div>
से पहले:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.empty():
$('.hello').empty();
के बाद:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
जहां तक स्मृति का संबंध है
, एक बार एक हाथी मन को डीओएम से हटा दिया गया है और इसमें कोई और संदर्भ नहीं है कचरा कलेक्टर इसे चलाने पर स्मृति को पुनः प्राप्त करेगा।
ग्रेट उत्तर ... thnx :) – Bhupi
खाली चयनकर्ता के गुणों को स्पर्श नहीं करेगा। यदि आप चयनकर्ता तत्व के गुणों को हटाना चाहते हैं, तो मैंने देखा कि jQuery हटानेAttr और removeClass फ़ायरफ़ॉक्स में छोटी गाड़ी हैं। इसलिए मेरे पास विकल्प निकालने का तरीका उपयोग करना था और कंटेनर तत्व को फिर से जोड़ना था, फिर बच्चे नोड्स को उसी में जोड़ना था। – randominstanceOfLivingThing
इसी तरह आप उपर्युक्त दो के संबंध में detach() को भी समझा सकते हैं .... – Krish
$("body").empty()
-
जब आप यह घोषणा करते $("body").remove()
- - यह शरीर टैग के साथ-साथ संपूर्ण HTML डोम को दूर यह शरीर टैग के अंदर एचटीएमएल डोम तत्वों को हटा।
यह उत्तर क्या प्रदान करता है जो मौजूदा उत्तरों में अनुपलब्ध है जो तीन साल से यहां रहे हैं? – jcsanyi
- 1. हटाएं बनाम हटाएं [] ऑपरेटर सी ++
- 2. थोक हटाएं (छंटनी बनाम हटाएं)
- 3. लिंक से सभी लक्ष्य = "_ खाली" हटाएं
- 4. फ़ाइल से खाली लाइनें हटाएं
- 5. एफ़टीपी गैर खाली निर्देशिका हटाएं
- 6. पायथन: गैर-खाली डीआईआर हटाएं
- 7. हटाएं बनाम ऑपरेटर हटाएं (और शून्य पॉइंटर)
- 8. jQuery से jQuery को हटाएं
- 9. नल बनाम खाली स्ट्रिंग
- 10. कोलेस बनाम खाली स्ट्रिंग
- 11. हटाएं पंक्ति jQuery
- 12. हटाएं/नष्ट jQuery
- 13. jQuery हटाएं() कॉलबैक?
- 14. रेल अजाक्स Jquery हटाएं
- 15. उपनिर्देशिका (खाली नहीं) वाली निर्देशिका को हटाएं
- 16. ग्रहण से खाली पैनल कैसे हटाएं?
- 17. खाली तालिका लेने के लिए हटाएं
- 18. डुप्लिकेट स्ट्रिंग और खाली स्ट्रिंग को हटाएं
- 19. एक खाली JQuery ऑब्जेक्ट
- 20. JQuery val() खाली स्ट्रिंग
- 21. HTTP विधियां: हटाएं बनाम पोस्ट
- 22. jQuery खाली समारोह और ईवेंट हैंडलर्स
- 23. $ बनाम jQuery
- 24. jQuery अंतिम तालिका कॉलम हटाएं
- 25. अवांछित jQuery फ़ंक्शंस को हटाएं
- 26. जावास्क्रिप्ट/JQuery टैबिंडेक्स से हटाएं
- 27. खाली jQuery परिणाम कैसे बनाएं
- 28. jquery: अगर उल खाली है
- 29. jQuery .error jqXHR.responseText खाली है
- 30. Jquery - JSON.stringify, सरणी खाली है
ईवेंट हैंडलर के बारे में क्या? मेरे पास एक अजीब मामला है जहां खाली + दो बार संलग्न होता है, अलग-अलग परिशिष्टों के साथ पहले सेट के हैंडलर निष्पादित करने के लिए संलग्न वस्तुओं के दूसरे सेट का कारण बनता है। – Killroy
@ बहुत देर हो चुकी है, लेकिन वे हैंडलर को भी हटा देते हैं। एक मौका है कि आपके पास उन हैंडलर को 'लाइव' या 'प्रतिनिधि' जैसे फ़ंक्शन के साथ पंजीकृत किया गया था। – undone