الدرس 1 من 8

إضافة العناصر دفعة واحدة

هدف الدرس

تعديل الصفحة مرّة واحدة بدل ألف مرّة

01

الشرح

كل استدعاء لـ append على عنصر داخل الصفحة قد يُجبر المتصفح على إعادة حساب مواضع العناصر، فإذا أضفت ألف عنصر في حلقة فقد يعيد الحساب ألف مرّة.

أمّا DocumentFragment فهو حاوية خفيفة تقع خارج الصفحة، تبني فيها كل شيء دون هذه الكلفة ثم تضيفها إلى الصفحة مرّة واحدة، وعند إضافتها تختفي الحاوية نفسها ويبقى ما بداخلها من عناصر.

واستعمال innerHTML مرّة واحدة بديل جيّد أيضًا، لكن هذه الحاوية تحافظ على مراجع العناصر التي أنشأتها وعلى مستمعي الأحداث المرتبطين بها، أمّا innerHTML فيبني العناصر من نصّ فلا يبقى لك شيء من ذلك.

02

المطلوب

اكتب الدالة buildList(n) لتُرجع DocumentFragment فيه n عنصرًا، ثم أضف ناتجها إلى القائمة مرّة واحدة.

الفحوص

5 فحوص
  1. الدالة buildList معرَّفة
  2. تُرجع DocumentFragment وليس مصفوفة أو نصًّا
  3. عدد العناصر داخلها يطابق المطلوب
  4. العناصر داخلها من نوع li ولها نصّ
  5. القائمة في الصفحة فيها 500 عنصر
03

تلميحات

0/3
دروس المسارأتممت 0 من 8

تعرف في هذا المسار أين يضيع الوقت فعلًا في صفحتك، وكيف توفّره بإضافة العناصر مرّة واحدة وتقليل الاستدعاءات وعدم تكرار الحساب.

مستواه متقدّم، وفيه 8 دروس مجموع مدّتها ساعة ونصف.

index.html
المعاينة
index.html100%
–/5

اضغط «تشغيل وتصحيح» ليبدأ الفحص.

تجد 5 فحوص في بطاقة «المطلوب».

دروس المسارأتممت 0 من 8

تعرف في هذا المسار أين يضيع الوقت فعلًا في صفحتك، وكيف توفّره بإضافة العناصر مرّة واحدة وتقليل الاستدعاءات وعدم تكرار الحساب.

مستواه متقدّم، وفيه 8 دروس مجموع مدّتها ساعة ونصف.