Internet Explorer javascript兼容性

Internet Explorer javascript兼容性,javascript,asp.net,windows-server-2008,Javascript,Asp.net,Windows Server 2008,我有一个简单的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

我有一个简单的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;
        }
    }
}

childNodes
返回文本节点和元素,您现在点击的似乎是文本节点,而不是试图访问的输入。改为使用
子项
getElementsByTagName

以下假设在
之前有一个元素:


你们有什么版本的浏览器?IE9?那么它应该可以工作了。网格元素实际上有一个名为“rows”的属性吗?IE的哪个版本?错误发生在哪一行?是的。正如我所提到的,它在IE9上进行了测试,效果非常好。在不知道您正在遍历的标记的情况下,我认为问题在于
cell.childNodes[1]
不是您所认为的节点。它可能是一个空的textNode。你能发布一个JSFIDLE来揭示这个bug吗?
cell.childNodes[1].checked = document.getElementById(id).checked
cell.children[1].checked = document.getElementById(id).checked;