Памылка звароту да масіва элементаў у JavaScript
Часам пачынаючыя праграмісты спрабуюць працаваць з масівам элементаў быццам у іх адзін элемент. Давайце паглядзім, у чым суць гэтай памылкі.
Хай дадзеныя абзацы:
<p>1</p>
<p>2</p>
<p>3</p>
Хай нейкі праграміст вырашыў запісаць у тэкст кожнага абзаца аднолькавае значэнне. Для гэтага ён атрымаў спасылкі на гэтыя элементы ў зменную:
let elems = document.querySelectorAll('p');
Затым наш праграміст памылкова ўзяў і звярнуўся ў нашай зменнай так, быццам там ляжыць адзін элемент, а не масіў. У выніку тэкст абзацаў не зменіцца, але, што характэрна, і памылкі у кансолі не будзе:
elems.textContent = '!';
Правільным рашэннем тут будзе перабраць масіў элементаў цыклам і для асобна для кожнага элемента выканаць патрэбную аперацыю:
for (let elem of elems) {
elem.textContent = '!';
}