JavaScript တွင် element ရယူရာတွင် မှားယွင်းမှု
တစ်ခါတစ်ရံ စတင်သင်ယူနေသော ပရိုဂရမ်မာများသည် DOM element တစ်ခုကို ရယူရန်
querySelector method အစား
querySelectorAll method ကို အသုံးပြုမိခြင်း အမှားကို ကျူးလွန်တတ်ကြသည်။
ဤအမှား၏ လက္ခဏာရပ်များကို ကြည့်ကြပါစို့။ အောက်ပါအတိုင်း စာပိုဒ်တစ်ခု ရှိသည်ဆိုပါစို့။
<p>စာသား</p>
ပရိုဂရမ်မာတစ်ဦးသည် ထိုစာပိုဒ်၏ စာသားကို ရယူပြီး ပြောင်းလဲရန် ဆုံးဖြတ်လိုက်သည်။ ထိုသို့ပြုလုပ်ရန် ၎င်းသည် မှားယွင်းစွာ မှန်ကန်သည့် method ကို အသုံးမပြုဘဲ variable ထဲသို့ element အတွက် လင့်ခ်ကို ရယူခဲ့သည်။
let elem = document.querySelectorAll('p');
ထို့နောက် ပရိုဂရမ်မာသည် စာပိုဒ်၏ စာသားကို ပြောင်းလဲရန် ကြိုးစားခဲ့သည်။ �ို့သော် စာပိုဒ်၏ စာသားသည် မပြောင်းလဲပါ။
elem.textContent = '!!!'; // အလုပ်မလုပ်ပါ
ဤသို့ဖြစ်သော်လည်း console တွင် မည်သည့်အမှားမှ မပေါ်လာပါ။ အကြောင်းမှာ တရားဝင်လုပ်ဆောင်ချက်တစ်ခု လုပ်ဆောင်ခဲ့သော်လည်း element တစ်ခုတည်းအပေါ် မဟုတ်ဘဲ အစုတစ်ခုအပေါ် လုပ်ဆောင်မိခြင်းကြောင့်ဖြစ်သည်။ အစုတစ်ခုလုံး၏ စာသားကို ဖတ်ရှုခြင်း သို့မဟုတ် ပြောင်းလဲခြင်းကို ချက်ချင်းမလုပ်နိုင်ပါ - ၎င်းတို့ကို loop ဖြင့် လှည့်ပတ်ပြီး တစ်ခုချင်းစီကို သီးသန့်ခေါ်ယူမှသာ လုပ်နိုင်ပါသည်။
အမှားကို မည်သို့ရှာဖွေသိရှိနိုင်မည်နည်း
ပရိုဂရမ်မာတစ်ဦးသည် ဤအမှားကို ရှာဖွေသိရှိရန် မည်သို့လုပ်ဆောင်သင့်သည်ကို ကြည့်ကြပါစို့။ အတွေ့အကြုံအနည်းငယ်ရှိလျှင် ၎င်း၏ လက္ခဏာရပ်များကို ကြည့်၍ ရှာဖွေသိရှိရန် လွယ်ကူပါသည်။
သို့သော် ထိုသို့မဖြစ်ပါစေနှင့်။ ထို့နောက် အမှားများကို ရှာဖွေရာတွင် ပရိုဂရမ်မာ၏ ပထမဆုံး လုပ်ဆောင်ချက်မှာ
console ထဲသို့ variable များ၏ တန်ဖိုးများကို ထုတ်ပြရန် ဖြစ်သင့်သည်။
သူ့အခြေအနေတွင် variable တစ်ခုသာရှိသည် - elem။
ထို variable ၏ တန်ဖိုးကို ထုတ်ပြပြီး ၎င်းထဲတွင် မည်သည့်အရာရှိသည်ကို ကြည့်ရှုရန် လိုအပ်သည်။
let elem = document.querySelectorAll('p');
console.log(elem); // element တစ်ခုမဟုတ်ဘဲ array တစ်ခုကို ထုတ်ပြမည်
Console ထဲတွင် variable ထဲတွင် element တစ်ခုမဟုတ်ဘဲ array တစ်ခုရှိသည်ကို ချက်ချင်းမြင်နိုင်သည်။ ဤသည်က element ရယူရန် method တွင် အမှားတစ်ခုကျူးလွန်မိကြောင်း သိသာထင်ရှားသော သဲလွန်စကို ချက်ချင်းပေးသည်။