给元素设置name的值方式1和方式2都只能在firefox ie8下有效,ie7 ie6下面没有作用当点击按钮时firefox 、ie8为1 而ie7 ie6下面为0  请问高手如何解决 。<html>
<head>
<script>
function init(){
   //document.getElementById('chk').name='aa';                      //  方式1
   document.getElementById('chk').setAttribute('name','aa');     //方式2
}
function getNumber(){
   alert(document.getElementsByName('aa').length)
}
</script>
</head><body  onload="init()">
<input  type="checkbox"   id="chk"/>
<input type="button"  value="按钮" onclick="getNumber()"/></body>
</html>

解决方案 »

  1.   

    首先不建议使用document.getElementsByName('')
    因为其不兼容。
    建议使用document.getElementsByTagName('')
      

  2.   

    <html>
    <head>
    <script>
    function init(){
      //document.getElementById('chk').name='aa'; // 方式1
      document.getElementById('chk').setAttribute('name','aa'); //方式2
    }
    function getNumber(){
      alert(document.getElementById("chk").name)//这样你就知道问题出在哪了
    }
    </script>
    </head><body onload="init()">
    <input type="checkbox" id="chk"/>
    <input type="button" value="按钮" onclick="getNumber()"/></body>
    </html>
      

  3.   

    name是特殊关键字。不知你set这个来干嘛?
      

  4.   

    不能随便更改表单元素的name属性和type属性。
    不过可以换一种思路。
    就是删除元素,然后重新生成。
    document.createElement('<input type="checkbox" id="chk" name="aa"/>')
      

  5.   

    要学会使用 alert();来调试jsps:学学jquery吧。