یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دوره‌ها

استفاده از تخفیف‌ها
ثانیه
دقیقه
ساعت
روز
مبین ملک جاری
2 سال پیش توسط مبین ملک جاری مطرح شد
3 پاسخ

متوجه نشدن اشکال کد

دوستان یه مشکلی که هستش من هر نوع پراپرتی توی جاوا اسکریپت برای یه المنت تعیین میکنم توی کنسول میگه که تعریف نشدس.
ارور:

`swipe.js:23 Uncaught TypeError: Cannot set properties of undefined (setting 'top') at swipe11 (swipe.js:23:65) at HTMLButtonElement.onclick (?servece=australia&servece=australia&fname=&servece=australia&fname=&lname=&phone=&address=:14:61)`

کدم:

var swipe = 0; // 0 => lightmode & 1 => DarkMode

function swipe(){
    console.log('ok');
    if(swipe === 0){
        document.getElementsByClassName('swipeLight').style.top = '3px';
    }
}

کنسول ok رو لاگ میگیره ولی به if میرسه ارور میده


ثبت پرسش جدید
T Game
@TGame 2 سال پیش آپدیت شد
0

سلام دوست عزیز
طبق کدی که قرار دادی زمانی که از getElementsByClassName استفاده میکنی html collection برمیگردونه که شبیه به ارایه هست که باید حلقه بزنی یا از طریق ایندکس به ایتم مورد نظر دسترسی داشته باشی (مثال زیر اولین ایتمی که کلاس swipeLight رو داره استایل top میدیم)

document.getElementsByClassName('swipeLight')[0].style.top = '3px';

مبین ملک جاری
تخصص : توسعه دهنده فرانت اند و جوجه...
@MrMobin 2 سال پیش مطرح شد
0

خب اگه بخوایم رو همشون اجرا شه از quary selector استفاده میکنیم؟
@TGame


T Game
@TGame 2 سال پیش مطرح شد
0

سلامی دوباره
گفتم دیگه برای اینکه رو همه المنت ها کاری انجام بدی باید حلقه بزنی یا از ایندکس به المنت دسترسی داشته باشی. querySelector برای زمانی هستش که بخوایم به یک المنت دسترسی داشته باشیم ( اگر چند المنت با شناسه یکسان مثلا کلاس داشته باشیم در اون صورت اولین المنت رو برمیگردونه ) برای اینکه رو همه دسترسی داشته باشی از querySelectorAll استفاده میکنی. خلاصه یه سرچ بزن در گوگل متوجه تفاوت هاشون میشی
مثالش

const swipeLight = document.getElementsByClassName('swipeLight');
for (let i = 0; i < swipeLight.length; i++) {
  swipeLight[i].style.top = '3px';
}

یا میتونی از querySelectorAll استفاده کنی مثالش

const swipeLight = document.querySelectorAll('.swipeLight');
for (let i = 0; i < swipeLight.length; i++) {
  swipeLight[i].style.top = '3px';
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام