选中DataGrid中所有复选框的Javascript代码在IE中运行良好,但在chrome和FireFox中不起作用

选中DataGrid中所有复选框的Javascript代码在IE中运行良好,但在chrome和FireFox中不起作用,javascript,asp.net,Javascript,Asp.net,代码在IE中运行良好,点击复选框,DataGrid中的所有其他复选框都在检查,但在使用Chrome和FireFox时,它不起作用 这是我在Asp.net中的代码: <HeaderTemplate> <asp:CheckBox runat="server" ID="chkAllDetach" AutoPostBack="false" onclick="SelectAllCheckboxes(this,'dgDetach',11);"> </asp:C

代码在IE中运行良好,点击复选框,DataGrid中的所有其他复选框都在检查,但在使用Chrome和FireFox时,它不起作用

这是我在Asp.net中的代码:

<HeaderTemplate>
  <asp:CheckBox runat="server" ID="chkAllDetach" AutoPostBack="false" 
    onclick="SelectAllCheckboxes(this,'dgDetach',11);">
  </asp:CheckBox>
 </HeaderTemplate>

Javascript函数:

function SelectAllCheckboxes(spanChk,dgGrid,intRow)
{

    var strRows = document.getElementById(dgGrid).rows;                                                             
    try
    {
        for(i=1;i<strRows.length;i++)
        {                       
            strRows[i].cells[intRow].childNodes.item(0).checked = document.getElementById(spanChk.id).checked;
            HighlightRow(strRows[i].cells[intRow].childNodes.item(0));
        }
    }
    catch(e)
    {
        var r = '';
        for (var p in e)
            r += p + ': ' + e[p] + '\n';
        alert(r);
        return false;
    }
}

function HighlightRow(chkB)  
{
    if(chkB.checked == true)
    {
        chkB.parentElement.parentElement.style.backgroundColor='#BFE3F6';        
        //chkB.parentElement.parentElement.style.color='';        
    }
    else
    {
        chkB.parentElement.parentElement.style.backgroundColor='';        
        //chkB.parentElement.parentElement.style.color='#BFE3F6';        
    }
}
功能选择所有复选框(spanChk、dgGrid、intRow)
{
var strRows=document.getElementById(dgGrid).rows;
尝试
{

for(i=1;iId元素在DOM元素中必须是唯一的。 尝试在Html元素上设置name=“dgGrid”,然后在函数中调用它们,如:

var strRows = document.getElementsByName("dgGrid");

是什么让你认为IDs是一个问题?你的建议有什么帮助?谢谢你的回复,我在不同的页面中使用相同的代码,每次都发送唯一的DOM元素。