أثناء إلحاق وظائف متعددة في نموذج كائن المستند (DOM) باستخدام JavaScript، غالبًا ما يحتاج المطور إلى تحليل ارتباط العنصر. يمكن تحقيق ذلك عن طريق تسجيل العنصر الأصلي للعنصر (العناصر) الهدف الذي يبسط تدفق التعليمات البرمجية وتنسيق الميزات المضمنة في الموقع. نظرة عامة على المحتويات
ما هي خاصية 'parentElement' في JavaScript؟
ال ' ParentElement تقوم خاصية '' في JavaScript باسترداد العنصر الذي هو الأصل للعنصر الهدف.
كيفية الوصول إلى/استدعاء العنصر الأصلي عبر خاصية HTML DOMparentElement؟
يمكن الوصول إلى العنصر الأصلي باستخدام HTML DOM ' ParentElement 'الملكية مع' اسم العقدة ' أو استرداد عقدة العنصر الأصلي بدلاً من ذلك عبر ' عقدة الأم ' ملكية.
VIDEO
بناء الجملة
العقدة. ParentElement
قيمة الإرجاع تسترد هذه الخاصية كائن عنصر يمثل عقدة العنصر الأصلية للعقدة وتعطي ' باطل 'إذا كانت العقدة لا تشتمل على أحد الوالدين.
الأساليب والخصائص المشتركة المستخدمة
document.querySelector() : تحصل هذه الطريقة على العنصر الأول المطابق لمحدد CSS.
بناء الجملة
وثيقة. querySelector ( هذا )
في هذا النحو ' هذا ' يشير إلى واحد أو أكثر من محددات CSS.
document.getElementById() : يقوم بإرجاع العنصر الذي يحتوي على المعرف المحدد.
بناء الجملة
وثيقة. getElementById ( بطاقة تعريف )
هنا، ' بطاقة تعريف ' يشير إلى معرف العنصر المستهدف المراد جلبه.
الفهرس المحدد : تقوم هذه الخاصية باسترداد فهرس الخيار المحدد من القائمة المنسدلة. ال '-1' الخيار يلغي كافة الخيارات.
اسم العقدة : تسترد هذه الخاصية اسم العقدة.
أطفال : تقوم هذه الخاصية بإرجاع العناصر الفرعية للعنصر كمجموعة.
ExternalHTML : تقوم هذه الخاصية بتخصيص أو استرداد عنصر HTML بالإضافة إلى سماته وعلامات البداية والنهاية.
عقدة الأم : هذه الخاصية المحددة تجلب العقدة الأصلية لعنصر أو عقدة.
ملحوظة : الفرق بين ' ParentElement ' و ' عقدة الأم 'الخاصية هي أن الخاصية السابقة أي 'parentElement' تعطي ' باطل 'إذا كانت العقدة الأصلية لا تعكس عقدة العنصر.
مثال 1: الوصول إلى العنصر الأصلي عبر خاصية 'parentElement' في JavaScript
يستدعي هذا المثال العنصر الأصلي للعنصر ويعرض اسم العقدة (الأصل) الخاصة به عند النقر على الزر.
كود HTML
< لغة البرمجة >
< جسم >
< h1 > خاصيةparentElement في جافا سكريبت < / h1 >
< h2 > اختر اللغة: < / h2 >
< يختار فصل = 'عنصر' >
< خيار > بايثون < / خيار >
< خيار > جافا < / خيار >
< خيار > جافا سكريبت < / خيار >
< / يختار >
< زر عند النقر = 'ديسبلاي بارينت ()' فصل = 'زر' > عرض العنصر الأصلي لعنصر 'الخيار'. < / زر >
< شعبة فصل = 'درجة حرارة' >< / شعبة >< / جسم >
< لغة البرمجة >
في هذا الكود:
تحديد المعطى '' و “” العناصر التي تشتمل على عناوين المستوى الأول والمستوى الثاني على التوالي.
بعد ذلك قم بإنشاء '<حدد>' العنصر الذي يمثله الفصل المحدد الذي يحتوي على العناصر الفرعية الأخرى، مثل '<الخيار>' .
الآن قم بإنشاء زر مرتبط بـ ' عند النقر 'الحدث الذي يعيد التوجيه إلى 'ديسبلاي بارينت ()' وظيفة عند النقر على الزر.
وأخيرًا، حدد '<ديف>' العنصر الذي سيتم عرض النتيجة فيه، أي العنصر الأصلي الذي تم الوصول إليه.
كود CSS
>
في كود CSS أعلاه:
قم بتصميم صفحة الويب الشاملة باستخدام خصائص 'محاذاة النص' و'لون الخلفية' وما إلى ذلك.
وبالمثل، قم بتطبيق التصميم على الزر الذي تم إنشاؤه عبر فئته عن طريق ضبط ارتفاعه وعرضه وعرضه ولونه وما إلى ذلك.
أخيرًا، قم بتصميم ' شعبة 'بالإشارة إلى اسم الفئة الخاص بها والذي سيتم عرض العنصر الأصلي الذي تم الوصول إليه.
كود جافا سكريبت
VIDEO
< النصي > وظيفة this.displayParent ( ) { كان يحصل = وثيقة. querySelector ( '.عنصر' ) ; كان هذا = يحصل . خيارات [ يحصل . الفهرس المحدد ] ; كان ألحق = وثيقة. querySelector ( '.درجة حرارة' ) ; ألحق. InnerHTML = 'العنصر الأصلي لعنصر الخيار هو -> ' + هذا. ParentElement . اسم العقدة ;
}
النصي >
وفقًا لسطور الكود هذه:
تحديد الوظيفة 'ديسبلاي بارينت ()' الذي يصل إلى العنصر '' من خلال الإشارة إلى فئته عبر ملف 'document.querySelector ()' طريقة.
ال ' خيارات تحصل المجموعة على مجموعة جميع عناصر '' في القائمة المنسدلة و' الفهرس المحدد تقوم الخاصية باسترداد فهرس الخيار المحدد للقائمة المنسدلة.
وأخيرا، استخدم 'document.querySelector ()' الطريقة مرة أخرى للوصول إلى العنصر '' وإلحاقه بالعنصر الأصلي للعنصر '
' عبر '' المطبق ParentElement ' و ' اسم العقدة '(يعرض اسم العقدة الأصلية).
الكود بالكامل
< لغة البرمجة >
< جسم >
< h1 > خاصيةparentElement في جافا سكريبت < / h1 >
< h2 > اختر اللغة: < / h2 >
< يختار فصل = 'عنصر' >
< خيار > بايثون < / خيار >
< خيار > جافا < / خيار >
< خيار > جافا سكريبت < / خيار >
< / يختار >
< زر عند النقر = 'ديسبلاي بارينت ()' فصل = 'زر' > عرض العنصر الأصلي لعنصر 'الخيار'. < / زر >
< شعبة فصل = 'درجة حرارة' >< / شعبة >< / جسم >
< أسلوب > جسم{ محاذاة النص:مركز؛ اللون: #ففف؛ لون الخلفية: رمادي؛ الارتفاع: 100%؛ } .زر{ الارتفاع: 2ريم؛ نصف قطر الحدود: 2 بكسل؛ العرض: 35%؛ الهامش: 2rem تلقائي؛ العرض محجوب؛ اللون:#ba0b0b; المؤشر:المؤشر؛ } .درجة حرارة{ حجم الخط: 1.5ريم؛ وزن الخط: غامق؛ } < / أسلوب >
< النصي > عرض الدالة () { var get = document.querySelector('.elem'); var sel=get.options[get.selectedIndex]; var append = document.querySelector('.temp'); append.innerHTML='العنصر الأصلي لعنصر الخيار هو -> ' + sel.parentElement.nodeName; }
< / النصي >
انتاج |
هنا، يمكن ملاحظة أن العنصر الأصلي لجميع العقد الفرعية، أي الخيار المحدد من القائمة المنسدلة في '<الخيار>' يتم إرجاع العنصر أي ' يختار '.
المثال 2: الوصول إلى كل من العنصرين الأصلي والفرعي عبر خصائص 'parentElement' و'children' في JavaScript
يصل مثال التعليمات البرمجية التالي إلى كل من العناصر الأصلية والفرعية لعنصر معين.
كود HTML
< لغة البرمجة > < جسم > < شعبة بطاقة تعريف = 'الأبوين' > < شعبة بطاقة تعريف = 'طفل' > < h1 >العنصر الفرعي الأول< / h1 > < h1 >العنصر الفرعي الثاني< / h1 > < / شعبة > < / شعبة > < / جسم > < / لغة البرمجة > في كتلة التعليمات البرمجية هذه، قم بإنشاء عنصرين '
'، وعنصري '
' يشيران إلى العناصر الفرعية للعنصر '' الأخير.
كود جافا سكريبت
< النصي
> يترك
يحصل = وثيقة.
getElementById ( 'طفل' ) ; دع الوالدين
= يحصل .
ParentElement ; وحدة التحكم.
سجل ( 'العنصر الأصلي -> ' , الأبوين.
ExternalHTML ) ; وحدة التحكم.
سجل ( 'اسم عقدة العنصر الأصلي -> ' , الأبوين.
اسم العقدة ) ; دع الأطفال
= يحصل .
أطفال ; ل ( اسمحوا لي
= 0 ; أنا
< أطفال.
طول ; أنا
++ ) { وحدة التحكم.
سجل ( ``العنصر الفرعي $
{ أنا
} : `
, أطفال
[ أنا
] .
ExternalHTML ) ;
}
ل ( اسمحوا لي
= 0 ; أنا
< أطفال.
طول ; أنا
++ ) { وحدة التحكم.
سجل ( `اسم عقدة العنصر الفرعي $
{ أنا
} : `
, أطفال
[ أنا
] .
اسم العقدة ) ;
}
النصي
>
شرح الكود أعلاه هو كما يلي:
VIDEO
قم بالوصول إلى العنصر '' الأخير من خلال 'المعرف' الخاص به باستخدام الملف
'document.getElementById ()' الطريقة وجلب العنصر الأصلي عبر '
ParentElement ' ملكية.
الآن، قم بعرض العنصر الأصلي مع السمات، وعلامات البداية والنهاية عبر '' المطبقة ExternalHTML ' ملكية.
قم أيضًا بإرجاع اسم العنصر الأصلي، أي اسم العقدة باستخدام ' اسم العقدة ' ملكية.
بعد ذلك، قم بالوصول إلى أبناء العنصر باستخدام خاصية 'الأطفال'.
تطبيق ' ل ' لتكرار جميع العناصر الفرعية وإعادتها بالعلامات عبر خاصية 'outerHTML' التي تمت مناقشتها.
وبالمثل، استخدم حلقة 'for' مرة أخرى لإرجاع أسماء العقد للعناصر الفرعية أيضًا.
الكود بالكامل
< لغة البرمجة > < جسم > < شعبة بطاقة تعريف = 'الأبوين' > < شعبة بطاقة تعريف = 'طفل' > < h1 > عنصر الطفل الأول
< / h1 > < h1 > عنصر الطفل الثاني
< / h1 > < / شعبة > < / شعبة >
< / جسم >
< / لغة البرمجة >
< النصي > Let get = document.getElementById('child');
دع الوالدين = get.parentElement;
console.log('العنصر الأصلي -> ',parent.outerHTML);
console.log('اسم عقدة العنصر الأصلي -> ',parent.nodeName);
دع الأطفال = get.children;
من أجل (دع i = 0؛ i
< طول الأطفال؛ أنا++ ) {
console.log ( ``العنصر الفرعي $ { أنا } : `، الأطفال [ أنا ] .outerHTML ) ;
}
ل ( اسمحوا لي = 0 ; أنا <أطفال.طول؛ أنا++ ) {
console.log ( `عقدة العنصر الفرعي اسم $ { أنا } : `، الأطفال [ أنا ] .اسم العقدة ) ;
}
< / النصي >
انتاج |
تشير هذه النتيجة إلى أنه يتم عرض العناصر الأصلية والفرعية للعنصر الهدف بالتفصيل (مع أسماء العقد) وفقًا لذلك.
مثال 3: الوصول إلى العنصر الأصلي باستخدام خاصية 'parentNode'.
في هذا العرض التوضيحي، يمكن استدعاء العنصر الأصلي لعنصر معين ومن ثم سيتم أيضًا جلب العنصر الأصلي لهذا العنصر المعين مما يؤدي إلى سلوك متداخل. ويمكن تحقيق ذلك عبر ' عقدة الأم 'خاصية بدلاً من ذلك تقوم بجلب العقدة الأصلية للعنصر.
كود HTML
< لغة البرمجة > < جسم > < شعبة بطاقة تعريف = 'الأبوين' > < رأ بطاقة تعريف = 'درجة حرارة' > < الذي - التي بطاقة تعريف = 'الطفل المؤقت' >بايثون< / الذي - التي > < الذي - التي >جافا< / الذي - التي > < الذي - التي >جافا سكريبت< / الذي - التي > < / رأ > < / شعبة > < / جسم > < / لغة البرمجة > هنا، قم بإنشاء عنصر '
' يشتمل أيضًا على عناصر '
(القائمة المرتبة)' و'(عناصر القائمة)' التي لها المعرفات المحددة.
كود جافا سكريبت
< النصي > يترك يحصل = وثيقة. getElementById ( 'الطفل المزاجي' ) ; دع الوالدين = يحصل . عقدة الأم ; وحدة التحكم. سجل ( 'عقدة العنصر الأصلي لـ 'li'-> ' , الأبوين ) ; دعونا الحصول على2 = وثيقة. getElementById ( 'درجة حرارة' ) ; السماح للوالدين2 = get2. عقدة الأم ; وحدة التحكم. سجل ( 'عقدة العنصر الأصلي لـ 'ol'-> ' , Parent2 ) ;
النصي >
بناءً على مقتطف التعليمات البرمجية هذا، قم بتنفيذ الخطوات الموضحة أدناه:
استدعاء العنصر ' ' عبر ' getElementById() '، قم بالوصول إلى عقدة العنصر الأصلي باستخدام الأمر ' عقدة الأم ' الخاصية، وعرض العقدة الأصلية.
وبالمثل، قم الآن باستدعاء العقدة الأصلية المعروضة، أي الأصل '' من خلال تكرار نفس المنهجية.
الكود بالكامل
< لغة البرمجة > < جسم > < شعبة بطاقة تعريف = 'الأبوين' > < رأ بطاقة تعريف = 'درجة حرارة' > < الذي - التي بطاقة تعريف = 'الطفل المؤقت' > بايثون < / الذي - التي > < الذي - التي > جافا < / الذي - التي > < الذي - التي > جافا سكريبت < / الذي - التي > < / رأ > < / شعبة >
< النصي > Let get = document.getElementById('tempchild'); دع الوالدين = get.parentNode; console.log('عقدة العنصر الأصلي لـ 'li'-> ',parent); Let get2 = document.getElementById('temp'); Letparent2 = get2.parentNode; console.log('عقدة العنصر الأصلي لـ 'ol'-> ',parent2);
< / النصي > < / جسم >
< / لغة البرمجة >
انتاج |
تشير هذه النتيجة إلى أن العقد الأصلية في كلتا الحالتين يتم عرضها وفقًا لذلك.
خاتمة
يمكن الوصول إلى العنصر الأصلي باستخدام HTML DOM ' ParentElement 'الملكية جنبا إلى جنب مع' اسم العقدة ' أو استرداد العقدة الأصلية عبر خاصية 'parentNode'. ومع ذلك، للوصول إلى العنصر الفرعي بدلاً من ذلك، استخدم ' طفل ' ملكية.