工作中碰到一个变态的性能问题。CMS中有个页面,上面有个多选框,其中有14000个选项。页面中提供给用户一个按钮,点击这个按钮时要清除已选中状态。原有的代码是这样的:
function re() {
for (var i = 0; i < document.form1.totopicid.options.length; i++) {
document.form1.totopicid.options[i].selected = false;
}
}
先抛开循环时多次计算length的问题不谈,光是执行14000次的document.form1.totopicid.options[i].selected = false;就要用户等很长时间。其实有一种更快捷的方式去做这件事情。代码如下:
function re() {
var select = document.form1.totopicid;
select.selectedIndex = 0;
select.options[0].selected = false;
}
这样不仅代码量小,而且性能也能得到很大提升。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。