Есть ли более быстрый способ очистить поле выбора 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-тегов. Я помню деталей, но я думаю, что это то, что я сделал и это сработало.
Пожалуйста, не говори никому, что я тебе это предложил.
один из способов, который должен быть быстрее, - создать новое поле выбора с теми же свойствами (но без опций, конечно) и заменить им существующее поле.