Ketika mencoba untuk menghapus opsi dari pilih, selalu ada satu yang tersisa, mengapa?
<select id="form-select">
<option>111</option>
<option>222</option>
<option>333</option>
</select>
JS ini tidak berfungsi:
var t = document.querySelector('#form-select');
for(var i of t.options) {
t.remove(i.index)
}
Dan ini juga tidak berfungsi:
for(var i of document.querySelector('#form-select').options) {
i.remove()
}
Saya tahu bahwa ada solusi lain untuk mencapai itu, tetapi saya ingin memahami mengapa itu tidak berfungsi sebagaimana mestinya
.optionsadalah tidak array, yang merupakan sumber masalah - bukan, ini merupakan HTMLCollection, yang hidup. Apakah itu array, itu akan menjadi statis, dan tidak akan ada masalah.