← Back to jQuery Course | Chapter 5: DOM Manipulation | Lesson 6 of 9

Elements हटाना और Detach करना

remove() selected element और उसके contents को delete करता है।
Syntax
javascript
$(selector).remove();
$(selector).empty();
$(selector).detach();

remove()

remove() method selected element को पूरी तरह delete कर देता है, उसके children, text, और किसी भी attached data या event handlers सहित। एक बार हट जाने के बाद, element DOM से चला जाता है और उसका jQuery data recover नहीं किया जा सकता।

उदाहरण: remove()

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <div id="box">To remove</div>
    <script>
      $("#box").remove();
    </script>
  </body>
</html>

empty()

empty() selected element के contents -- उसके child nodes और text -- को हटा देता है लेकिन element को खुद DOM में रखता है। यह किसी container को साफ़ करने के लिए उपयोगी है, जैसे किसी search results list को नए content से भरने से पहले।

उदाहरण: empty()

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <ul id="results"><li>Old 1</li><li>Old 2</li></ul>
    <script>
      $("#results").empty();
    </script>
  </body>
</html>

detach()

detach() किसी element को DOM से हटाता है जबकि उसका jQuery data और event handlers memory में intact रखता है। यह इसे सही choice बनाता है जब आप बाद में उसी element को फिर से insert करने की योजना बना रहे हों और उसकी bound behavior खोना नहीं चाहते।

उदाहरण: detach()

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <div id="box">Detach me</div>
    <script>
      const saved = $("#box").detach();
      // saved can be reinserted later with its data/handlers intact
    </script>
  </body>
</html>

Selector से हटाना

आप remove() को एक selector pass कर सकते हैं ताकि आपकी पूरी selection में से सिर्फ matching elements ही delete हों, जो भी आपने select किया है उन सबको नहीं। यह आपको पहले एक अलग selection लिखे बिना यह filter करने देता है कि क्या delete होगा।

उदाहरण: Remove by Selector

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <ul id="list"><li class="done">Task 1</li><li>Task 2</li></ul>
    <script>
      $("#list li").remove(".done");
    </script>
  </body>
</html>

Remove या Empty

remove() इस्तेमाल करें जब element को खुद page से पूरी तरह गायब होना चाहिए। empty() इस्तेमाल करें जब सिर्फ उसका content गायब हो लेकिन container को खुद अपनी जगह रहना चाहिए, फिर से भरे जाने के लिए तैयार।

उदाहरण: Remove or Empty

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <div id="container"><p>Old content</p></div>
    <script>
      $("#container").empty();
      // use remove() instead if the container itself should also disappear
    </script>
  </body>
</html>
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. जब आप element को वापस रखने की योजना बना रहे हों तब .remove() इस्तेमाल करना, क्योंकि यह उसका data और event handlers delete कर देता है; .detach() उन्हें रखता है।
  2. किसी list को साफ़ करने के लिए उस पर .remove() call करना, जब <ul> खुद गायब हो जाता है और .empty() इसे बनाए रखता है।
  3. यह उम्मीद करना कि .empty() element के अपने attributes या element को खुद हटा देगा, जबकि यह सिर्फ अंदर के children और text को साफ़ करता है।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.