有这么一段html代码:<table>
    <tr onclick="jsfunction(this);">
        <td>
        <input type="checkbox" id="mycheckbox"/>
        </td>
    </tr>
<table>
需要写一个jsfunction(trEl)方法,当这个tr被点击的时候,就执行这个jsfunction(trEl),这个方法的功能就是把里面的checkbox的状态置为选中状态,我写了一个方法是这样的:function selectCheckBox(trEl) {
    
    if (trEl === null) {
        return false;
    } else 
       var tdEl = trEl.cells[0];
       var cEl = tdEl.firstElementChild;
       if (cEl !== null) {
          cEl.checked = cEl.checked ? false : true;
       }
    }
}这个方法在Firefox中可以执行,但是在ie中就不能执行,说是cEl变量undefined,应该是在ie下,语句:var cEl = tdEl.firstElementChild;没有执行成功,cEl没有取到值。请教各位大侠,这么问题该怎么解决。

解决方案 »

  1.   


    var cEl = tdEl.firstElementChild || tdEl.firstChild ; 
      

  2.   

    <html>
    <head>
    <script>
    function jsfunction()
    {
    document.all.mycheckbox.checked = true;
    }
    </script>
    </head>
    <body onload="jsfunction()">
    <table> 
    <tr> 
    <td> 
    <input type="checkbox" id="mycheckbox"/> 
    </td> 
    </tr> 
    <table>
    </body>
    </html>
      

  3.   

    如果一行只有一个input的话,可以var cEl = tdEl.getElementsByTagName("input")[0]
      

  4.   

    var cEl = tdEl.getElementsByTagName("input")[0]
      

  5.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>test</title>
    </head>
    <body>
    <table border="1" style="background:red; width: 100px;";> 
        <tr onclick="jsfunction(this);"> 
            <td> 
            <input type="checkbox" id="mycheckbox"/> 
            </td> 
        </tr> 
    <table>
    <script>
    var odiv = document.getElementById("mycheckbox");
    function jsfunction(index) {
    odiv.checked = "chekcked";}
    </script>
    </body>
    </html>
      

  6.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>test</title>
    </head>
    <body>
    <table border="1" style="background:red; width: 100px;";> 
        <tr onclick="jsfunction(this);"> 
            <td> 
            <input type="checkbox" id="mycheckbox"/> 
            </td> 
        </tr> 
    <table>
    <script>
    var odiv = document.getElementById("mycheckbox");
    function jsfunction(index) {
    odiv.checked = true;}
    </script>
    </body>
    </html>
      

  7.   

    function jsfunction()
    {
      var obj=event.srcElement;
      var chk=obj.ChildNode[1];
      ....
    }