JavaScript-ում տարրերի զանգվածին հղվելու սխալ
Երբեմն սկսնակ ծրագրավորողները փորձում են աշխատել տարրերի զանգվածի հետ, կարծես թե դրանք մեկ տարր են: Եկեք տեսնենք, թե որն է այս սխալի էությունը:
Ենթադրենք տրված են պարբերություններ.
<p>1</p>
<p>2</p>
<p>3</p>
Ենթադրենք, ինչ-որ ծրագրավորող որոշել է յուրաքանչյուր պարբերության տեքստում գրել նույն արժեքը: Դրա համար նա ստացել է այդ տարրերի հղումները փոփոխականի մեջ.
let elems = document.querySelectorAll('p');
Այնուհետև մեր ծրագրավորողը սխալմամբ մեր փոփոխականից հղում է վերցրել այնպես, կարծես այնտեղ մի տարր է պարունակվում, ոչ թե զանգված: Արդյունքում պարբերությունների տեքստը չի փոխվի, բայց, բնութագրական է, որ և սխալ կոնսոլում չի լինի.
elems.textContent = '!';
Այստեղ ճիշտ լուծումը կլինի ցիկլով անցնել տարրերի զանգվածով և յուրաքանչյուր տարրի համար առանձին կատարել պահանջվող գործողությունը.
for (let elem of elems) {
elem.textContent = '!';
}