Рӯйхати элементҳои хатои муроҷиат дар JavaScript
Гаҳе барномасозони навкор кӯшиш мекунанд бо массив аз элементҳо чун ки як элемент кор кунанд. Биёед бинем, ки моҳияти ин хато чист.
Фарз кунем, ки параграфҳо дода шудаанд:
<p>1</p>
<p>2</p>
<p>3</p>
Фарз кунем, ки як барномасоз қарор дод дар матни ҳар як параграф як арзиши ягона нависад. Барои ин, ӯ ишораҳо ба ин элементҳоро дар тағирёбанда гирифт:
let elems = document.querySelectorAll('p');
Сипас барномасози мо ғалатан мегирад ва ба тағирёбандаи мо чунон муроҷиат мекунад, ки гӯё дар он як элемент лешад, на як массив. Натиҷаан, матни параграфҳо тағир намеёбад, аммо, ин ҷолиб аст, ки хатогиҳо дар консоли ҳам нахоҳад буд:
elems.textContent = '!';
Ҳалли дуруст дар ин ҷо хоҳад буд ки массив аз элементҳоро бо сикл такрор кард ва барои ҳар як элемент алоҳида амалиёти заруриро иҷро кард:
for (let elem of elems) {
elem.textContent = '!';
}