是否有更快的方法来清空HTML选择框?

时间:2011-06-21 01:05:39

标签: javascript html internet-explorer select

我有一个HTML选择框,大约有1800多个选项。在我的javascript中,我有以下行清空选择框,以便我可以重新填充它。

box.options.length = 0; 

在Firefox中运行相当快,但IE需要几秒钟。在IE中有更快的方法吗?

3 个答案:

答案 0 :(得分:8)

在某些时候,我通过将列表对象包含在div中来解决IE在这个领域的惨淡表现,然后当我需要重置它时,我只需将该div的innerHTML设置为全新的空列表html标记。我对细节很粗略,但我认为这就是我所做的并且有效 请不要告诉任何人我建议你这样做。

答案 1 :(得分:6)

应该更快的一种方法是创建一个具有相同属性的新选择框(当然没有选项),并用它替换现有的框。

答案 2 :(得分:5)

您可以使用box.innerHTML=""。在我的测试中,它快了68%:

http://jsperf.com/emptying-a-select-box/4

2015 box.innerHTML = ""中的

更新:是最慢选项的多个数量级。 :-)改为使用box.options.length = 0