我正在尝试创建一个包含10,000个选项的html选择列表。由于这个数字,我需要它尽可能高效。我已经得到它的工作,但我认为这是相当低效JavaScript - 是否有更有效的方法来创建选项元素?
var select = document.createElement("select");
document.body.appendChild(select);
for (var i = 1; i <= 10000; i++) {
var option = document.createElement("option");
var optionText = option.createTextNode("option" + i);
option.value = "option" + i;
option.appendChild(optionText);
select.appendChild(option);
}
我读过,查询DOM太多可能是昂贵的。有没有更简单的方法来做到这一点?
昂贵的东西反复从DOM阅读之后改变DOM。仅仅改变DOM并不是那么昂贵。但是,从用户体验方面来说,如果你给他们10000项选择,你的用户会讨厌你。带着*激情*。在你的鞋子里,我会努力想出一个替代的UI解决方案。 – Amadan
注意,最好在最后追加'select',一旦它拥有所有''选项''。 – Oriol