Ralat Mendapatkan Elemen dalam JavaScript
Kadang-kadang pengaturcara pemula melakukan kesilapan
dengan menggunakan kaedah querySelector untuk mendapatkan sekumpulan elemen DOM
dan bukannya kaedah
querySelectorAll.
Mari kita lihat ciri-ciri khas ralat ini. Katakan diberikan perenggan:
<p>1</p>
<p>2</p>
<p>3</p>
Seorang pengaturcara ingin mendapatkan dan mencetak teks perenggan-perenggan ini dalam konsol. Untuk melakukan itu, dia mendapatkan rujukan kepada elemen-elemen ini dalam pembolehubah, dengan secara silap menggunakan kaedah yang salah:
let elems = document.querySelector('p');
Kemudian, dia memutuskan untuk mengulangi perenggan-perenggan tersebut dengan gelung dan mencetak teks setiap perenggan dalam konsol:
for (let elem of elems) {
console.log(elem.textContent);
}
Akibatnya, konsol akan memaparkan ralat khas
elems is not iterable. Ia memberitahu
bahawa pembolehubah elems tidak boleh diiterasi,
iaitu bukan array atau sesuatu
yang boleh diulangi melalui gelung for-of.