JavaScriptda elementlar massiviga murojaat qilishdagi xato
Ba'zan yangi boshlanuvchi dasturchilar elementlar massivi bilan bitta element ekanday ishlashga harakat qilishadi. Keling, ushbu xatoning mohiyati nimada ekanligini ko'rib chiqaylik.
Berilgan abzatslar bo'lsin:
<p>1</p>
<p>2</p>
<p>3</p>
Faraz qilaylik, ma'lum bir dasturchi har bir abzats matniga bir xil qiymat yozishga qaror qildi. Buning uchun u ushbu elementlarga havolalarni o'zgaruvchiga oldi:
let elems = document.querySelectorAll('p');
Keyin bizning dasturchimiz xato qilib, o'zgaruvchimizga u yerda massiv emas, balki bitta element turgandek murojaat qildi. Natijada abzatslarning matni o'zgarmaydi, lekin xarakterli jihati shundaki, konsolda xatolik ham bo'lmaydi:
elems.textContent = '!';
Bu yerda to'g'ri yechim elementlar massivini sikil orqali aylantirish va har bir element uchun alohida kerakli amalni bajarish bo'ladi:
for (let elem of elems) {
elem.textContent = '!';
}