<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<script>
function setDisabled(){
var elements = document.getElementById('div1').getElementsByTagName("*");
for(var i = 0; i < elements.length;i++){
elements[i].disabled = true;
}
}
</script>
</head><body>
<div id="div1">
out:
<br>
<input type="checkbox" datetype="out"/>
<input type="checkbox" datetype="out"/>
<input type="checkbox" datetype="out"/>
<br>
out2:
<br>
<input type="checkbox" datetype="out2"/>
<input type="checkbox" datetype="out2"/>
<input type="checkbox" datetype="out2"/>
</div>
<input type="button" value="测试" onclick="setDisabled()"></body>
</html>

解决方案 »

  1.   

    为什么不能逐个取?
    var boxes = document.getElementById('div1').getElementsByTagName("input");
    for(var i = 0; i < boxes.length; i++) {
        if (boxes[i].type == "checkbox")
            boxes[i].disabled = true;
    }
      

  2.   

    这样逐个取,可行 。但是,我页面动态生成 ,那就需要生成的时候,DIV下所有东西都要设成不可用 ,改动量不小
      

  3.   

    用的UpdatePanel控件生成,不支持onload事件吧 。
    要是页面onload支持的话
    先得判断div是否存在,存在了还得判断对应的某个checkbox是否存在,是否选中 ,然后才能div下getElementsByTagName("input");进行设置 ,麻烦呀  。
      

  4.   

    document.getElementById("div1").style.cssText="display:none;";