انتقل إلى محتوى الدرس
الدرس 77
تاريخ النشر: تاريخ التحديث:
دورة جافا سكريبت

خاصية العنصر الشقيق التالي nextElementSiblingJavaScript nextElementSibling Property طريقة استخدام خاصية nextElementSibling، وبناء لوحات الأكورديون التفاعلية، والتعامل الآمن مع آخر عنصر

أتقن خاصية nextElementSibling في JavaScript لتجاوز المسافات والتعليقات تلقائياً، وقارنها بـ nextSibling، وابنِ مكونات الأكورديون والشرائح التفاعلية.
أقسام الدرس
4
الأمثلة
2
اللغة
العربية
المشاهدات
2,429
محتوى الدرس
في هذا الدرس 4تصفّح المواضيع

تُعد element.nextElementSibling الخاصية العملية الحديثة الأكثر استخداماً في التنقل الأفقي الأمامي؛ فهي خاصية للقراءة فقط (بدون أقواس) تتخطى تلقائياً جميع عقد المسافات النصية #text والتعليقات لترجع مباشرةً أول عنصر HTML شقيق تالٍ داخل نفس الأب، أو null إن لم يوجد.

مخطط قفزة nextElementSibling النظيفة من زر الأكورديون فوق المسافات والتعليقات إلى لوحة الإجابة التالية

لاحظ ثبات وموثوقية nextElementSibling التامة سواء ضُغط ملف HTML في سطر واحد أو نُسّق في عدة أسطر مع تعليقات توضيحية:

طريقة تنسيق كود HTMLنتيجة item1.nextSiblingنتيجة item1.nextElementSibling
متلاصق في سطر واحدالعنصر <li>2</li>العنصر <li>2</li>
منسق بأسطر ومسافات بادئةعقدة المسافة النصية #textالعنصر <li>2</li> بثبات تام
يفصل بينهما تعليق HTMLعقدة التعليق #commentالعنصر <li>2</li> بثبات تام
JavaScript
const first = document.getElementById('q-item');
const out = document.getElementById('compare-out');

out.textContent =
  'nextSibling: ' + first.nextSibling.nodeName +
  ' | nextElementSibling: ' + first.nextElementSibling.tagName +
  ' (' + first.nextElementSibling.textContent + ')';

من أجمل التطبيقات الواقعية للخاصية nextElementSibling بناء مكون الأسئلة الشائعة (الأكورديون): حيث يتبع كل زر سؤال <button> عنصرُ الإجابة الشقيق مباشرةً <div hidden>؛ وعند نقر الزر نعكس خاصية الإخفاء panel.hidden على btn.nextElementSibling مع تحديث aria-expanded لقارئات الشاشة.

JavaScript
const faq = document.getElementById('faq-box');
faq.addEventListener('click', function (e) {
  const btn = e.target.closest('button.faq-q');
  if (!btn) return;
  const panel = btn.nextElementSibling;
  if (!panel) return;
  panel.hidden = !panel.hidden;
  btn.setAttribute('aria-expanded', String(!panel.hidden));
});

عندما يكون العنصر الحالي هو آخر عنصر فعلي lastElementChild داخل أبيه — حتى لو تبعته مسافات فارغة أو تعليقات قبل وسم الإغلاق — فإن قراءة el.nextElementSibling تُرجع null.

وفي عروض الشرائح والتبويبات التفاعلية، تتيح العبارة الذكية current.nextElementSibling || container.firstElementChild العودة التلقائية السلسة إلى الشريحة الأولى فور الوصول للنهاية!

خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس خاصية nextElementSibling للقفز المباشر نحو العنصر الشقيق التالي، وأثبتّ مناعتها التامة ضد المسافات والتعليقات مقارنةً بـ nextSibling، وبنيت أكورديون أسئلة متوافقاً مع إمكانية الوصول، وعالجت نهاية القائمة بمرونة. الخطوة التالية: اختتم الفصل الحادي عشر بدرس «خاصية العنصر الشقيق السابق previousElementSibling» والجدول المرجعي الشامل للتنقل.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات3

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 3 مفهومةأول بطاقة، أول خطوة
01 element.nextElementSibling خاصية العنصر التالي nextElementSibling
خاصية للقراءة فقط ترجع أول عنصر HTML شقيق يلي العقدة الحالية متخطيةً النصوص والتعليقات.
للمراجعة
02 Accordion Pattern نمط لوحات الأكورديون التفاعلية
وضع زر العنوان متبوعاً مباشرة بلوحة المحتوى القابلة للطي والفتح عبر خاصية nextElementSibling.
للمراجعة
03 Circular Fallback Wrap الالتفاف الدائري للشرائح
توظيف المعامل المنطقي OR للعودة تلقائياً لأول عنصر عند وصول nextElementSibling إلى القيمة null.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات2

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 2 مفهومةأول بطاقة، أول خطوة
01 FAQ FAQ
Frequently Asked Questions
قسم الأسئلة المتكررة القابل للفتح والطي عبر الانتقال من زر السؤال إلى لوحة الإجابة التالية.
للمراجعة
02 ARIA ARIA
Accessible Rich Internet Applications
معيار إمكانية الوصول الذي يتيح سمة aria-expanded لإعلان حالة الفتح والإغلاق.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. شغّل المثال الأول في المحرر ولاحظ وقوف nextSibling عند المسافة النصية بينما تصل nextElementSibling للفقرة مباشرةً.

  2. انقر زري السؤالين في مثال الأكورديون لفتح وطي لوحة الإجابة الشقيقة التالية لكل زر.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

10أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي10 أسئلة تنتظرك
01

ماذا تُرجع الخاصية element.nextElementSibling؟

02

عند وجود سطر جديد وتعليق HTML بين العنوان <h3 id="h"> والفقرة <p>Body</p>، ماذا ترجع h.nextElementSibling؟

03

إعادة تنسيق ملف HTML من سطر واحد إلى عدة أسطر بمسافات بادئة يغيّر النتيجة الراجعة من nextElementSibling.

04

ما النتيجة الدائمة لقراءة container.lastElementChild.nextElementSibling؟

05

أي تعبير برمجي يلتف بعرض الشرائح بسلاسة من الشريحة الأخيرة عائداً إلى الشريحة الأولى؟

06

تُقرأ nextElementSibling كخاصية للقراءة فقط بدون أقواس استدعاء.

07

عند فتح أو طي لوحة الأكورديون بـ nextElementSibling، أي سمة وصول يُنصح بتحديثها على زر السؤال؟

08

إذا تبع تعليق HTML آخر عنصر <li> في القائمة، فإن finalLi.nextElementSibling تُرجع عقدة التعليق.

09

متى تختار عمداً الخاصية الخام nextSibling بدلاً من nextElementSibling؟

10

حتى العقدة النصية أو عقدة التعليق يمكن قراءة خاصية nextElementSibling عليها للقفز لأول عنصر HTML يليها.