</body>
<script type="text/javascript">
document.getElementById("all").onclick=function ()
{
var ts = document.getElementByTagName('tr');
len = ts.length;
if(this.checked)
{
for(var i=1;i<len;i++)
{
ts[i].getElementByName("checkbox")[0].checked="checked";
ts[i].style.background = "#333";
}
}
else
{
for(var i=1;i<len;i++)
{
ts[i].getElementByName("checkbox")[0].checked="";
ts[i].style.background = "";
}
}
}</script>
</html>
没问题吧? 运行在IE,提示!:对象不支持此属性或方法。。(标红部分)
卧槽!我是没招了,求大神指点。。
<script type="text/javascript">
document.getElementById("all").onclick=function ()
{
var ts = document.getElementByTagName('tr');
len = ts.length;
if(this.checked)
{
for(var i=1;i<len;i++)
{
ts[i].getElementByName("checkbox")[0].checked="checked";
ts[i].style.background = "#333";
}
}
else
{
for(var i=1;i<len;i++)
{
ts[i].getElementByName("checkbox")[0].checked="";
ts[i].style.background = "";
}
}
}</script>
</html>
没问题吧? 运行在IE,提示!:对象不支持此属性或方法。。(标红部分)
卧槽!我是没招了,求大神指点。。
改成
ts[i].getElementsByTagName("checkbox")[0].setAttribute("checked","checked");试试
要<input name="checkbox" type="checkbox"/>才能通过getElementsByName("checkbox")找到
下面那个:ts[i].getElementByName("checkbox")[0].checked="";
改为
ts[i].getElementsByTagName("checkbox")[0].removeAttribute("checked");
这位仁兄说得对,,,
getElementsByTagName("input")才能找到checkbox
<table width="100%" height="40px" id="head">
<tr>
<td width="24%">
<label>
<input type="checkbox" id="all" />
</label>
小区名称
</td>
<td width="14%">冠名小区经理</td>
<td width="16%">区域</td>
<td width="13%">小区状态</td>
<td width="12%">渗透率</td>
<td width="10%">覆盖用户数</td>
<td width="11%">业务小区</td>
</tr>
</table>
<table width="100%" height="50px" cellspacing="15" id="cont" >
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox" />
新盛花园 </label>
</td>
<td>朱维肖</td>
<td>工业园区</td>
<td>可放装</td>
<td>.73%</td>
<td>1498</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox2" />
人才公寓 </label>
</td>
<td>周晨喻</td>
<td>相城区</td>
<td>可放装</td>
<td>5.5%</td>
<td>958</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox3" />
馨洪花园 </label>
</td>
<td>俞骞</td>
<td>沧浪区</td>
<td>可放装</td>
<td>10.5%</td>
<td>456</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox4" />
碧波二村 </label>
</td>
<td>谭明志</td>
<td>吴中区</td>
<td>可放装</td>
<td>7.28%</td>
<td>477</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox5" />
新唯家园 </label>
</td>
<td>朱维肖</td>
<td>工业园区</td>
<td>可放装</td>
<td>.86%</td>
<td>652</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox6" />
苏锦一村 </label>
</td>
<td>唐磊</td>
<td>平江区</td>
<td>可放装</td>
<td>.23%</td>
<td>223</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox7" />
新升新苑 </label>
</td>
<td>张亚娟</td>
<td>高新区</td>
<td>可放装</td>
<td>7.5%</td>
<td>599</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox8" />
创苑 </label>
</td>
<td>朱维肖</td>
<td>工业园区</td>
<td>可放装</td>
<td>.66%</td>
<td>755</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
<tr>
<td>
<label>
<input type="checkbox" name="checkbox" id="checkbox9" />
金益新村 </label>
</td>
<td>周晨喻</td>
<td>相城区</td>
<td>可放装</td>
<td>3.56%</td>
<td>1005</td>
<td><a href="see.html" target="_blank">查看</a></td>
</tr>
</table>
<td width="24%">
<label>
<input type="checkbox" id="all" />
</label>
小区名称
</td>
<td width="14%">冠名小区经理</td>
<td width="16%">区域</td>
<td width="13%">小区状态</td>
<td width="12%">渗透率</td>
<td width="10%">覆盖用户数</td>
<td width="11%">业务小区</td>
</tr>
第一次循环中ts[0].getElementByName("checkbox")找不到checkbox控件的,
因为<input type="checkbox" id="all" />没有name属性。
要写成<input type="checkbox" id="all" name="checkbox" />
var ts = document.getElementsByName('tr');
len = ts.length;
for (var i = 1; i < len; i++) {
var chk = null;
var chks = ts[i].getElementsByName("input");
var j = 0;
do {
if (chks[j].getAttribute("type") == "checkbox") {
chk = chks[j];
}
} while (!chk && j++ < chks.length);
if (chk) {
if (this.checked) {
chk.setAttribute("checked", "checked");
ts[i].style.backgroundColor = "#333";
} else {
chk.removeAttribute("checked");
ts[i].style.backgroundColor = "";
}
}
}
}