Mohammad Jamal3 نشر 29 مايو أرسل تقرير نشر 29 مايو انا شغال على java script بس لما اجي اعرف متغير باسم name ما بقبل تنفيذ الكود قصدي ما بشتغل صح مع انو كان قبل يشتغل بدون مشاكل شو المشكلة هي صورة لتوضيح وحتى لما احول المتغير name لتعليق بضل ظاهر على المتصفح مع العلم معمل تحديث بس على الفاضي 1 اقتباس
0 Mustafa Suleiman نشر 29 مايو أرسل تقرير نشر 29 مايو الكود يعمل بدون مشكلة ما الخطأ الذي يظهر لك ؟ غالبًا أنت نسيت حفظ الكود عليك الضغط على CTRL + S ثم إعادة تحديث الصفحة في المتصفح. <body> <div style="text-align: center;"> <input class="input-btn" type="text"> <button class="submit-btn">submit</button> <h3 class="result-one"></h3> <h3 class="result-two"></h3> </div> <script> var name = ["Yarob", "Khaled", "Omer"] document.getElementsByClassName("result-one")[0].innerHTML = name document.getElementsByClassName("submit-btn")[0].addEventListener("click", function(){ var school = document.getElementsByClassName("input-btn")[0].value for(var student of name){ if(student == school){ document.getElementsByClassName("result-two")[0].innerHTML = `${school} yas` break } document.getElementsByClassName("result-two")[0].innerHTML = `${school} no` } }) </script> </body> اقتباس
0 Mohammad Jamal3 نشر 29 مايو الكاتب أرسل تقرير نشر 29 مايو صديقي على الفاضي هي فيديو توضيحي واذا انتبهت لما اغير اسم var من name لاي اسم ثاني وما اغير document الخاص في بضل محتوى var ظاهر على المتصف حتى لو عملت ctrl+s لل vs code وعملت ctrl +r للمتصفح WhatsApp Video 2024-05-29 at 5.24.55 PM.mp4 2 اقتباس
0 حمزة عباد نشر 29 مايو أرسل تقرير نشر 29 مايو بتاريخ 2 دقائق مضت قال Mohammad Jamal3: صديقي على الفاضي هي فيديو توضيحي واذا انتبهت لما اغير اسم var من name لاي اسم ثاني وما اغير document الخاص في بضل محتوى var ظاهر على المتصف حتى لو عملت ctrl+s لل vs code وعملت ctrl +r للمتصفح لاحظ أن وسم <script> عندك موجود بعد علامة إغلاق </body>، وهذا شيء خاطئ. المتصفح لا يقوم بتشغيل أي شيء خارج <body>. لذلك، يرجى إدخال <script> في المكان المناسب: <body> <!-- ....محتوى الصفحة --> <script> // ...محتوى السكربت </script> </body> اقتباس
0 Mustafa Suleiman نشر 29 مايو أرسل تقرير نشر 29 مايو بتاريخ 8 دقائق مضت قال Mohammad Jamal3: صديقي على الفاضي هي فيديو توضيحي واذا انتبهت لما اغير اسم var من name لاي اسم ثاني وما اغير document الخاص في بضل محتوى var ظاهر على المتصف حتى لو عملت ctrl+s لل vs code وعملت ctrl +r للمتصفح WhatsApp Video 2024-05-29 at 5.24.55 PM.mp4 الكود الذي ارفقته لك يعمل بشكل سليم، لم ألحظ في الصورة الأولى لديك أنك كتبت كود جافاسكريبت خارج وسم body فعليك كتابة جافاسكريبت في عنصر script ونضعه في body أو head اقتباس
0 Mohammad Jamal3 نشر 29 مايو الكاتب أرسل تقرير نشر 29 مايو على الفاضي جربت دخلتهم على body بس ضلت نفس المشكلة 1 اقتباس
0 Mustafa Suleiman نشر 29 مايو أرسل تقرير نشر 29 مايو تفهمت ما تقصد، المشكلة في استخدامك لاسم المتغير name حيث يتم الخلط بينه وبين خاصية name في الكائن العالمي window ما يسبب طباعة التكرار على الأسماء في المصفوفة بالشكل التالي : Y a r o b , K h a l e d , O m e r لذا لو قمت بتغيير اسم المتغير إلى names مثلاً سيتم حل المشكلة ويتم طباعة yes أو قم باستخدام const بدلاً من var <body> <div style="text-align: center;"> <input class="input-btn" type="text"> <button class="submit-btn">submit</button> <h3 class="result-one"></h3> <h3 class="result-two"></h3> </div> </body> <script> var names = ["Yarob", "Khaled", "Omer"] document.getElementsByClassName("result-one")[0].innerHTML = names document.getElementsByClassName("submit-btn")[0].addEventListener("click", function(){ var school = document.getElementsByClassName("input-btn")[0].value for(var student of names){ console.log(student) if(student === school){ document.getElementsByClassName("result-two")[0].innerHTML = `${school} yas` break } document.getElementsByClassName("result-two")[0].innerHTML = `${school} no` } }) </script> اقتباس
0 Mohammad Jamal3 نشر 29 مايو الكاتب أرسل تقرير نشر 29 مايو افهمت عليك بس اسؤال ليش قبل يومين كان يتعامل مع name على انها اسم var بدون مشاكل وهسى صار لازم اختار اسم ثاني 1 اقتباس
0 Mustafa Suleiman نشر 29 مايو أرسل تقرير نشر 29 مايو بتاريخ 16 دقائق مضت قال Mohammad Jamal3: افهمت عليك بس اسؤال ليش قبل يومين كان يتعامل مع name على انها اسم var بدون مشاكل وهسى صار لازم اختار اسم ثاني ربما استخدمت let أو const في تعريف اسم المتغير، فلهما نطاق كتلة block scope أي أنهما يكونان مرئيين فقط داخل الكتلة التي تم تعريفهما فيها. بينما تعريف متغير باستخدام var خارج أي كتلة كود { } يتم اعتباره متغيرًا عالميًا global، بمعنى يمكن الوصول إليه من أي مكان في الكود (سواء داخل دوال أو خارجها) ويصبح جزءًا من كائن window في المتصفحات window.name والمشكلة أنه يوجد خاصية باسم name في الكائن العالمي window ولم يعد يتم دعمها في المتصفحات حاليًا. على العكس بتعريف متغير باستخدام const أو let في النطاق العالمي، فإنه لا يصبح جزءًا من كائن window، ويتم تعريفه في نطاق الكتلة block scope الخاص بالوحدة النمطية module scope أو النص البرمجي script scope. 1 اقتباس
0 Mohammad Jamal3 نشر 29 مايو الكاتب أرسل تقرير نشر 29 مايو اها فهمت شكرا كتير الك والله يعطيك الف عافيه اقتباس
السؤال
Mohammad Jamal3
انا شغال على java script بس لما اجي اعرف متغير باسم name ما بقبل تنفيذ الكود قصدي ما بشتغل صح مع انو كان قبل يشتغل بدون مشاكل شو المشكلة هي صورة لتوضيح وحتى لما احول المتغير name لتعليق بضل ظاهر على المتصفح مع العلم معمل تحديث بس على الفاضي
9 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.