如何使jQuery选择器运行得更快或分块运行
我有一个简单的jQuery代码,它运行在一个包含50000多人列表的网页上。在IE上,我得到的信息是脚本花费的时间太长。我想摆脱IE中那个讨厌的弹出窗口 若我需要添加50000个DOM元素,那个么我可以使用定时器来延迟块中的工作。在这种情况下,当我从大量数据中进行选择时,我不确定计时器是否有任何帮助 我的jquery代码是如何使jQuery选择器运行得更快或分块运行,jquery,Jquery,我有一个简单的jQuery代码,它运行在一个包含50000多人列表的网页上。在IE上,我得到的信息是脚本花费的时间太长。我想摆脱IE中那个讨厌的弹出窗口 若我需要添加50000个DOM元素,那个么我可以使用定时器来延迟块中的工作。在这种情况下,当我从大量数据中进行选择时,我不确定计时器是否有任何帮助 我的jquery代码是 $('#all_member').click(function(){ $("#people_form input:checkbox").attr('checked',
$('#all_member').click(function(){
$("#people_form input:checkbox").attr('checked', true);
return false;
});
我认为你真正需要做的是找到一种方法来减少这50000个数字 我认为你真正需要做的是找到一种方法来减少这50000个数字 如果你坚持你的50000个元素,那么我认为这不是一个公共网站
在这种情况下,您可以要求所有用户都已安装。使用Gears,您可以将javascript执行委托给浏览器后面的组件,这意味着您可能无法获得IE消息。如果您坚持使用50000个元素,那么我假设这不是一个公共web 在这种情况下,您可以要求所有用户都已安装。使用Gears,您可以将javascript执行委托给浏览器后面的组件,这意味着您可能无法获得IE消息 就像每个人说的,你可能不需要在同一页上设置50000个复选框 如果要使用区块,请在选择器中指定区块: 更完整的示例是,您仍然需要使用setTimeout来避免弹出窗口:
var CHUNK_SIZE = 4000;
var TOTAL = 50000;
for (var i = 0; i < TOTAL; i += CHUNK_SIZE) {
var chunk_suffix = ':gt(' + i + '):lt(' + CHUNK_SIZE + ')';
$('#people_form input:checkbox' + chunk_suffix).attr('checked', true');
}
就像每个人说的,你可能不需要在同一页上设置50000个复选框
如果要使用区块,请在选择器中指定区块:
更完整的示例是,您仍然需要使用setTimeout来避免弹出窗口:
var CHUNK_SIZE = 4000;
var TOTAL = 50000;
for (var i = 0; i < TOTAL; i += CHUNK_SIZE) {
var chunk_suffix = ':gt(' + i + '):lt(' + CHUNK_SIZE + ')';
$('#people_form input:checkbox' + chunk_suffix).attr('checked', true');
}
你认为50000个复选框是一个好的用户体验吗?50000个复选框在一个页面上?我建议您重新考虑在Web页面上显示信息的方法。您在哪种类型的用户界面中可以同时接受DOM中的50000个元素?您认为50000个复选框是一个良好的用户体验吗?在一个页面上有50000个复选框?我建议您重新考虑在web页面上显示信息的方法。如果DOM中同时有50000个元素是可以接受的,您将构建什么类型的用户界面?