الدرس 1 من 8
إضافة العناصر دفعة واحدة
- 13 دقيقة
- 5 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
تعديل الصفحة مرّة واحدة بدل ألف مرّة
الشرح
كل استدعاء لـ append على عنصر داخل الصفحة قد يُجبر المتصفح على إعادة حساب مواضع العناصر، فإذا أضفت ألف عنصر في حلقة فقد يعيد الحساب ألف مرّة.
أمّا DocumentFragment فهو حاوية خفيفة تقع خارج الصفحة، تبني فيها كل شيء دون هذه الكلفة ثم تضيفها إلى الصفحة مرّة واحدة، وعند إضافتها تختفي الحاوية نفسها ويبقى ما بداخلها من عناصر.
واستعمال innerHTML مرّة واحدة بديل جيّد أيضًا، لكن هذه الحاوية تحافظ على مراجع العناصر التي أنشأتها وعلى مستمعي الأحداث المرتبطين بها، أمّا innerHTML فيبني العناصر من نصّ فلا يبقى لك شيء من ذلك.
المطلوب
اكتب الدالة buildList(n) لتُرجع DocumentFragment فيه n عنصرًا، ثم أضف ناتجها إلى القائمة مرّة واحدة.
الفحوص
5 فحوص- الدالة buildList معرَّفة
- تُرجع DocumentFragment وليس مصفوفة أو نصًّا
- عدد العناصر داخلها يطابق المطلوب
- العناصر داخلها من نوع li ولها نصّ
- القائمة في الصفحة فيها 500 عنصر