التابع .empty()
في jQuery
.empty()
القيمة المعادة
يُعيد كائنًا من النوع jQuery.
الوصف
يُزيل هذا التابع كافة العُقَد السليلة لمجموعة العناصر المتطابقة من DOM.
.empty()
أُضيف مع الإصدار: 1.0.
لا يقبل هذا التابع أي وسائط.
لا يزيل هذا التابع العناصر الأبناء (والعناصر السليلة الأخرى) فقط، بل يزيل أيضًا أي نص ضمن مجموعة العناصر المتطابقة. ويرجع ذلك إلى أنه وفقًا لمواصفات DOM، تعتبر أي سلسلة نصية داخل عنصر ما عقدة ابنة لهذا العنصر. إليك شيفرة HTML التالية:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
يمكننا استهداف أي عنصر لإزالته:
$( ".hello" ).empty();
سيؤدي ذلك إلى بنية DOM محذوف فيها نص Hello
:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
إذا كان لدينا أي عدد من العناصر المتداخلة داخل <div class="hello">
، فستُحذف أيضًا.
لتجنب تسرب الذاكرة، يحذف jQuery التركيبات الأخرى مثل معالجات الأحداث والبيانات من العناصر الأبناء قبل إزالة العناصر نفسها. أما إذا كنت تريد إزالة عناصر دون تدمير البيانات أو معالجات الأحداث (حتى يمكن إضافتها لاحقًا) ، فيجب استخدام .detach()
بدلاً من ذلك.
أمثلة
إزالة جميع العُقَد الأبناء (بما في ذلك عُقَد النص) من جميع الفقرات.<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>empty demo</title>
<style>
p {
background: yellow;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>
Hello, <span>Person</span> <em>and person</em>.
</p>
<button>Call empty() on above paragraph</button>
<script>
$( "button" ).click(function() {
$( "p" ).empty();
});
</script>
</body>
</html>