我有一个HTML选择框,大约有1800多个选项。在我的javascript中,我有以下行清空选择框,以便我可以重新填充它。
box.options.length = 0;
在Firefox中运行相当快,但IE需要几秒钟。在IE中有更快的方法吗?
答案 0 :(得分:8)
在某些时候,我通过将列表对象包含在div中来解决IE在这个领域的惨淡表现,然后当我需要重置它时,我只需将该div的innerHTML设置为全新的空列表html标记。我对细节很粗略,但我认为这就是我所做的并且有效 请不要告诉任何人我建议你这样做。
答案 1 :(得分:6)
应该更快的一种方法是创建一个具有相同属性的新选择框(当然没有选项),并用它替换现有的框。
答案 2 :(得分:5)
您可以使用box.innerHTML=""
。在我的测试中,它快了68%:
http://jsperf.com/emptying-a-select-box/4
2015box.innerHTML = ""
中的 更新:是最慢选项的多个数量级。 :-)改为使用box.options.length = 0
。