دوستان یه مشکلی که هستش من هر نوع پراپرتی توی جاوا اسکریپت برای یه المنت تعیین میکنم توی کنسول میگه که تعریف نشدس.
ارور:
`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 میرسه ارور میده
سلام دوست عزیز
طبق کدی که قرار دادی زمانی که از getElementsByClassName استفاده میکنی html collection برمیگردونه که شبیه به ارایه هست که باید حلقه بزنی یا از طریق ایندکس به ایتم مورد نظر دسترسی داشته باشی (مثال زیر اولین ایتمی که کلاس swipeLight رو داره استایل top میدیم)
document.getElementsByClassName('swipeLight')[0].style.top = '3px';
سلامی دوباره
گفتم دیگه برای اینکه رو همه المنت ها کاری انجام بدی باید حلقه بزنی یا از ایندکس به المنت دسترسی داشته باشی. 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';
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟