اذهب إلى المحتوى
  • 0

ما سبب الخطأ Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node في جافاسكربت؟

محمود_سعداوي

السؤال

السلام عليكم.

أقدم لكم الكود التالي

// show my favorite products
const favorites = document.querySelector(".favorite-products")
favorites.addEventListener('click', ()=>{
    // create a popup
    overly = document.createElement('div')
    overly.setAttribute("class", "popup-overly")
    let body = document.getElementsByTagName('body')
    document.body.appendChild('overly')

})

عند النقر العنصر المحدد تظهر لي رسالة الخطأ التالية:

script.js:276 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
    at HTMLDivElement.<anonymous> (script.js:276:19)

شكرا عى المساعدة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هذا لأن التابع appendChild يفترض أن يمرر عبره كمعامل أول مرجع العقدة التي نحاول حقنها في الوثيقة وليس سلسلة نصية. 

لا يجب عليك وضع overly بين علامتي تنصيص:

// show my favorite products
const favorites = document.querySelector(".favorite-products")
favorites.addEventListener('click', ()=>{
    // create a popup
    overly = document.createElement('div')
    overly.setAttribute("class", "popup-overly")
    let body = document.getElementsByTagName('body')
    document.body.appendChild(overly)

})

 ،body أيضا لا يبدوا هنالك أي حاجة من تعريف المتغير

:يمكنك التخلص من هذا السطر:

let body = document.getElementsByTagName('body')

Document.body

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...