我有一个简单的javascript函数,可以在选中标题复选框时检查所有复选框。
function SelectAll(id) {
var grid = document.getElementById("<%=ui_downlinkGrid.ClientID %>");
var cell;
if (grid.rows.length > 0)
{
for (i = 0; i < grid.rows.length; i++)
{
cell = grid.rows[i].cells[0];
cell.childNodes[1].checked = document.getElementById(id).checked;
}
}
}
我在IE 9上对此进行了测试,效果非常好。但是,一旦我在Windows Server 2008上获得它,它就不起作用,并且调试器显示此错误:对象不支持此属性或方法。
这是兼容性问题吗?我该如何解决这个问题?
编辑:错误在这一行:
cell.childNodes[1].checked = document.getElementById(id).checked
答案 0 :(得分:1)
childNodes
返回文本节点以及元素,您现在正在点击文本节点,而不是您尝试访问的输入,这似乎是合理的。请改用children
或getElementsByTagName
:
以下假设<input>
之前有一个元素:
cell.children[1].checked = document.getElementById(id).checked;