2个按钮,分别是“全选择”和“全取消”,
因为代码中的checkbox是用的服务器端控件,所以无法给统一加上相同的name。所以,现在代码写成:
function fnc(bool){
var obj = document.getElementById("s1").getElementsByTagName("input");
for (i=0;i<obj.length;i++){
if(obj[i].type=="checkbox"){
obj[i].checked = bool;
}
}
}
但明显感觉到慢。求速度。

解决方案 »

  1.   

    jquery选择器
     $(" :checkbox").attr("checked", "");所用checkbox
      

  2.   

    把obj.length设为一个变量,会稍微有点提高
        for (i=0,objLength=obj.length;i<objLength;i++){坐看其他高手优化
      

  3.   

    checkbox  总该有name或者id吧 
    正则匹配一下看看效率怎么样
      

  4.   

    是10000个input,包括hidden,text,button等等,checkbox只是这10000个中的 100个左右。
      

  5.   

    稍微调整些细节,但能提升多少就不知道了function fnc(bool){
        var d = document;
        var obj = d.getElementById("s1").getElementsByTagName("input");
        for (i=0,len=obj.length;i<len;++i){
            if(obj[i].type=="checkbox"){
                obj[i].checked = bool;
            }
        }
    }对于非IE浏览器,可以使用浏览器的api document.querySelectorAll()方法,比单纯的getElementById快很多
      

  6.   

    加上 name用 getElementsByName
      

  7.   

    最好是能把checkbox放到一个div下面,给div设置一个id,这样效率高一些,通过绝对位置来控制css
      

  8.   


    这个是什么页面啊,有那么多input,设计的不合理吧?