لا يمكن لـ getElementById الحصول على الكائن
يوجد تسلسل عندما يقوم المتصفح بتحليل المستند قبل تحميل الصفحة، أو قبل تحميل كائن DOM المقابل، لا يمكن الحصول على الكائن المقابل.
انظر إلى الكود أدناه:
<النص البرمجي> var temp = document.getElementById("div"); تنبيه (درجة الحرارة)؛ </script> <الجسم> <div معرف = "div"> <اسم الإدخال = "اسم المستخدم" id = "اسم المستخدم" نوع = "نص"> <button id="btn">زر</button> </div> </الجسم>
في هذا الكود، document.getElementById(“div”)
لا يمكنه الحصول على الكائن، وسينبثق تنبيه (temp) فارغًا؛
وذلك لأنه عندما يقوم المتصفح بتحليل الكود الموجود في علامة البرنامج النصي، لا يتم تحميل عناصر DOM الموجودة في النص، لذا بطبيعة الحال لا يمكن الحصول على أي شيء.
الحل: انقل الكود الموجود في البرنامج النصي بعد عنصر النص.
<الجسم> <div معرف = "div"> <اسم الإدخال = "اسم المستخدم" id = "اسم المستخدم" نوع = "نص"> <button id="btn">زر</button> </div> <النص البرمجي> var temp = document.getElementById("div"); تنبيه (درجة الحرارة)؛ </script> </الجسم>
أو قم بإضافة window.onload
<النص البرمجي> نافذة.onload = وظيفة () { var temp = document.getElementById("div"); تنبيه (درجة الحرارة)؛ } </script>
تلخيص
ما ورد أعلاه هو ما يقدمه لك المحرر لحل مشكلة عدم تمكن أساليب سلسلة document.getElementBy من الحصول على الكائنات. أتمنى أن يكون ذلك مفيدًا لك. شكرًا جزيلاً على دعمك لموقع downcodes.com.