التابع ‎.empty()‎‎‎ في jQuery

من موسوعة حسوب
< jQuery
مراجعة 14:43، 5 يونيو 2018 بواسطة Khaled-yassin (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎.empty()‎‎

القيمة المعادة

يُعيد كائنًا من النوع jQuery.

الوصف

يُزيل هذا التابع كافة العُقَد السليلة لمجموعة العناصر المتطابقة من DOM.

‎.empty()‎

أُضيف مع الإصدار: 1.0.

لا يقبل هذا التابع أي وسائط.

لا يزيل هذا التابع العناصر الأبناء (والعناصر السليلة الأخرى) فقط، بل يزيل أيضًا أي نص ضمن مجموعة العناصر المتطابقة. ويرجع ذلك إلى أنه وفقًا لمواصفات DOM، تعدّ أي سلسلة نصية داخل عنصر ما عقدة ابن لهذا العنصر. إليك شيفرة HTML التالية:

<div class="container">
  <div class="hello">مرحبًا</div>
  <div class="goodbye">مع السلامة</div>
</div>

يمكننا استهداف أي عنصر لإزالته:

$( ".hello" ).empty();

سيؤدي ذلك إلى بنية DOM محذوف فيها نص Hello:

<div class="container">
  <div class="hello"></div>
  <div class="goodbye">مع السلامة</div>
</div>

إذا كان لدينا أي عدد من العناصر المتداخلة داخل <div class="hello"‎>، فستُحذف أيضًا.

لتجنب تسرب الذاكرة، يحذف jQuery التركيبات الأخرى مثل معالجات الأحداث والبيانات من العناصر الأبناء قبل إزالة العناصر نفسها. أما إذا كنت تريد إزالة عناصر دون تدمير البيانات أو معالجات الأحداث (حتى يمكن إضافتها لاحقًا) ، فيجب استخدام ‎.detach()‎ بدلاً من ذلك.

أمثلة

مثال عن إزالة جميع العُقَد الأبناء (بما في ذلك عُقَد النص) من جميع الفقرات:
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>empty مثال غلى التابع</title>
  <style>
  p {
    background: yellow;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<p>
  مرحبا، <span>أحمد</span> <em>ومحمود</em>.
</p>
 
<button>استدعاء empty() على الفقرة السابقة</button>
 
<script>
$( "button" ).click(function() {
  $( "p" ).empty();
});
</script>
 
</body>
</html>

مصادر