Jquery脚本需要非常非常长的时间
Jquery script taking very very long time
下面的Jquery脚本需要很长时间。请为我提供解决方案,以提高性能
为
(i = 0; i < fooLength; ++i) {
if (foo[i] != "") {
var option = foo[i].split("$");
if (option.length == 2) {
if ($("#" + destination).find("option[value='" + option[1] + "']").length == 0)
{
$("#" + destination).append($('<option></option>').val(option[1]).html(option[0]));
$("#" + source).find("option[value='" + option[1] + "']").remove();
}
}
}
}
我试图将值附加到列表框中。那里有近 5000 条记录,因此迭代 5000 次并且需要很长时间
无需每个循环都选择元素:
var $dest = $("#" + destination), $src = $("#" + source);
for (i = 0; i < fooLength; ++i) {
if (foo[i] != "") {
var option = foo[i].split("$");
if (option.length == 2) {
if ($dest.find("option[value='" + option[1] + "']").length == 0) {
$dest.append($('').val(option[1]).html(option[0]));
$src.find("option[value='" + option[1] + "']").remove();
}
}
}
}
我已经尝试过了,但没有太大的改进。所以通过分析,我发现find()需要更多时间。我用下面的代码替换了这段代码,并得到了巨大的改进。
for (i = 0; i < fooLength; ++i) {
if (foo[i] != "") {
var option = foo[i].split("$");
if (option.length == 2) {
if ($dest.each(function(){("option[value='" + option[1] + "']").length == 0;})){
$dest.append($('<option></option>').val(option[1]).html(option[0]));
$src.each(function(){if($(this).val()=="option[value='" + option[1] + "']")$(this).remove();});
}
}
}
}
相关文章:
- Java脚本时间添加
- Json数据包含日期和时间格式
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在wordpress一定时间后更改自定义字段
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- Javascript时间轨迹
- Jquery脚本需要非常非常长的时间
- Google Apps 脚本在保护多个范围时运行时间非常慢
- Javascript的执行时间非常慢——Chrome
- 改善加载时间非常长的滚动页面的图像
- 非常大的文档,如何提高加载超过50%没有显示在一个单一的时间
- 非常技术性- Modal需要时间来加载.如何减少加载时间
- 随着时间的流逝,JavaScript计时器计数非常快
- 一段时间后,淡入淡出变得非常快