Есть ли более быстрый способ очистить поле выбора HTML?

У меня есть окно выбора HTML с параметрами 1800+. В моем javascript у меня есть следующая строка, чтобы очистить поле выбора, чтобы я мог его повторно заполнить.

box.options.length = 0; 

в Firefox это работает довольно быстро, но IE занимает пару секунд. Есть ли быстрый способ сделать это в IE?

3 ответов


можно использовать box.innerHTML="". В моем тесте это на 68% быстрее:

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

обновление: на 2015 box.innerHTML = "" на несколько порядков медленнее вариант. :-) Использовать box.options.length = 0 вместо.


в какой-то момент я работал вокруг мрачной производительности IE в этой области, заключив объект списка в div, а затем, когда мне нужно было сбросить его, я бы просто установил innerHTML этого div в совершенно новый пустой список html-тегов. Я помню деталей, но я думаю, что это то, что я сделал и это сработало.
Пожалуйста, не говори никому, что я тебе это предложил.


один из способов, который должен быть быстрее, - создать новое поле выбора с теми же свойствами (но без опций, конечно) и заменить им существующее поле.