الفرق بين المراجعتين لصفحة: «jQuery/empty»

من موسوعة حسوب
لا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:التابع <code>.empty()‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>.empty()‎‎</code>في jQuery}}</noinclude>
 
== ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎<code>‎.empty()‎‎</code> ==
== ‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎<code>‎.empty()‎‎</code> ==


سطر 14: سطر 13:
لا يقبل هذا التابع أي وسائط.
لا يقبل هذا التابع أي وسائط.


لا يزيل هذا التابع العناصر الأبناء (والعناصر السليلة الأخرى) فقط، بل يزيل أيضًا أي نص ضمن مجموعة العناصر المتطابقة. ويرجع ذلك إلى أنه وفقًا لمواصفات DOM، تعتبر أي سلسلة نصية داخل عنصر ما عقدة ابنة لهذا العنصر. إليك شيفرة HTML التالية:<syntaxhighlight lang="html">
لا يزيل هذا التابع العناصر الأبناء (والعناصر السليلة الأخرى) فقط، بل يزيل أيضًا أي نص ضمن مجموعة العناصر المتطابقة. ويرجع ذلك إلى أنه وفقًا لمواصفات DOM، تعدّ أي سلسلة نصية داخل عنصر ما عقدة ابن لهذا العنصر. إليك شيفرة HTML التالية:<syntaxhighlight lang="html">
<div class="container">
<div class="container">
   <div class="hello">Hello</div>
   <div class="hello">مرحبًا</div>
   <div class="goodbye">Goodbye</div>
   <div class="goodbye">مع السلامة</div>
</div>
</div>
</syntaxhighlight>يمكننا استهداف أي عنصر لإزالته:<syntaxhighlight lang="jquery">
</syntaxhighlight>يمكننا استهداف أي عنصر لإزالته:<syntaxhighlight lang="jquery">
سطر 24: سطر 23:
<div class="container">
<div class="container">
   <div class="hello"></div>
   <div class="hello"></div>
   <div class="goodbye">Goodbye</div>
   <div class="goodbye">مع السلامة</div>
</div>
</div>
</syntaxhighlight>إذا كان لدينا أي عدد من العناصر المتداخلة داخل <code><nowiki><div class="hello"></nowiki></code>، فستُحذف أيضًا.<div class="hello">
</syntaxhighlight>إذا كان لدينا أي عدد من العناصر المتداخلة داخل <code><nowiki><div class="hello"></nowiki></code>، فستُحذف أيضًا.<div class="hello">
لتجنب تسرب الذاكرة، يحذف jQuery التركيبات الأخرى مثل معالجات الأحداث والبيانات من العناصر الأبناء قبل إزالة العناصر نفسها. أما إذا كنت تريد إزالة عناصر دون تدمير البيانات أو معالجات الأحداث (حتى يمكن إضافتها لاحقًا) ، فيجب استخدام <code>[[jQuery/detach|‎.detach()‎]]</code> بدلاً من ذلك.
لتجنب تسرب الذاكرة، يحذف jQuery التركيبات الأخرى مثل معالجات الأحداث والبيانات من العناصر الأبناء قبل إزالة العناصر نفسها. أما إذا كنت تريد إزالة عناصر دون تدمير البيانات أو معالجات الأحداث (حتى يمكن إضافتها لاحقًا) ، فيجب استخدام <code>[[jQuery/detach|‎.detach()‎]]</code> بدلاً من ذلك.


=== أمثلة ===
=== أمثلة ===
إزالة جميع العُقَد الأبناء (بما في ذلك عُقَد النص) من جميع الفقرات.<syntaxhighlight lang="html">
مثال عن إزالة جميع العُقَد الأبناء (بما في ذلك عُقَد النص) من جميع الفقرات:<syntaxhighlight lang="html">
<!doctype html>
<!doctype html>
<html lang="en">
<html lang="en">
<head>
<head>
   <meta charset="utf-8">
   <meta charset="utf-8">
   <title>empty demo</title>
   <title>empty مثال غلى التابع</title>
   <style>
   <style>
   p {
   p {
سطر 46: سطر 45:
   
   
<p>
<p>
   Hello, <span>Person</span> <em>and person</em>.
   مرحبا، <span>أحمد</span> <em>ومحمود</em>.
</p>
</p>
   
   
<button>Call empty() on above paragraph</button>
<button>استدعاء empty() على الفقرة السابقة</button>
   
   
<script>
<script>

المراجعة الحالية بتاريخ 14:43، 5 يونيو 2018

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎.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>

مصادر