JavaScript'те элементтер массивине туура эмес кайрылуу катасы
Кээде башталгыч программисттер элементтер массиви менен бир элемент сыяктуу иштешет. Келгиле, бул катанын мөнөзүн карап көрөлү.
Абзацтар берилсин деп коёлу:
<p>1</p>
<p>2</p>
<p>3</p>
Кандайдыр бир программист ар бир абзацтын текстине бир эле маанини жазгысы келип калды деп коёлу. Бул үчүн ал бул элементтерге шилтемелерди өзгөрмөгө алды:
let elems = document.querySelectorAll('p');
Андан кийин биздин программист ката кетирип, биздин өзгөрмөбүзгө ал жерде бир элемент турган сыяктуу кайрылды, массив эмес. Натыйжада абзацтардын тексти өзгөрбөйт, бирок мүнөздүүсү, консолдо ката да болбойт:
elems.textContent = '!';
Бул жерде туура чечим болуп элементтер массивин цикл менен аралап чыгып, ар бир элемент үчүн өзүнчө керектуу амалды аткаруу болот:
for (let elem of elems) {
elem.textContent = '!';
}