页面上有一个很大的table,第1列是个多选框,我弄了个单独的多选框来实现全选功能,用的是jquery
$("#tblResult input[name='ckbFav']").attr("checked", ckb.checked);
查出所有name为ckbFav的多选框,设置它的checked属性。发现在IE下面浏览器会假死3-4秒才执行完毕。而FF下面一下子就OK了,根本不需要等待的时间
请教怎么在IE下优化呢?PS:那个表格不能分页,客户要求一页显示,最多会有1000行,20多列数据
$("#tblResult input[name='ckbFav']").attr("checked", ckb.checked);
查出所有name为ckbFav的多选框,设置它的checked属性。发现在IE下面浏览器会假死3-4秒才执行完毕。而FF下面一下子就OK了,根本不需要等待的时间
请教怎么在IE下优化呢?PS:那个表格不能分页,客户要求一页显示,最多会有1000行,20多列数据
var table =document.getElementById("tblResult");
var chkBox =table.getElementsByName("ckbFav");
然后循环,可能效率会有一点提高,但别太指望效果会有多好
IE速度确实非常烂
但在IE下就是很慢, 会假死不用jquery的选择器我也试过,一样假死
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script>
function checkAll()
{
//第一种
$("input[name='chk']").slice(0,1500).attr("checked",$("input[name='chkall']").attr("checked"));
//第二种
/**
for(i=0;i<$("input[name='chk']").size()/100;i++)
{
$("input[name='chk']").slice(0*i,100*(i+1)).attr("checked",$("input[name='chkall']").attr("checked"));
}
**/
//第一种方法感觉效率还高,下面的反而假死了,在IE7下测试的。
}document.writeln("<input type=checkbox name=chkall onclick='checkAll();' />");
for(i=0;i<1500;i++)
{
document.writeln("<input type=checkbox name=chk />"+i);
if(i%5==0)
document.writeln("<br/>");
}
</script>