代码:$('#kc[name=k[]]').attr('type','checkbox');这样没有报错,但是属性也没有改变,另外,我想把外观同时也改变了,要不然外观上还是radio不能进行多选,请教怎么实现? <div id="kc">
<p>
<input name="k[]" type="radio" value="1" />
<input name="c[]" type="text" value="" />
</p>
<p>
<input name="k[]" type="radio" value="2" />
<input name="c[]" type="text" value="" />
</p>
<p>
<input name="k[]" type="radio" value="3" />
<input name="c[]" type="text" value="" />
</p>
<p>
<input name="k[]" type="radio" value="4" />
<input name="c[]" type="text" value="" />
</p> </div>

解决方案 »

  1.   

    1、$( '#kc[name=k[]] ').attr( 'type ', 'checkbox '); 这句代码错了,应该是找input的name属性
      改为$('input[name=k[]]').attr('type', 'checkbox'); 
    2、你的每个input的name后又一个空格,这个要去掉 否则找不到
    3、最重要的一点,元素的type属性是只读的,不能被修改,如果修改需要删除属性,新建属性。
      

  2.   

    <div   id="kc"> 
    <p> 
    <input   name="k[]"   type="radio"   value="1"   /> 
    <input   name="c[]"   type="text"   value=""   /> 
    </p> 
    <p> 
    <input   name="k[]"   type="radio"   value="2"   /> 
    <input   name="c[]"   type="text"   value=""   /> 
    </p> 
    <p> 
    <input   name="k[]"   type="radio"   value="3"   /> 
    <input   name="c[]"   type="text"   value=""   /> 
    </p> 
    <p> 
    <input   name="k[]"   type="radio"   value="4"   /> 
    <input   name="c[]"   type="text"   value=""   /> 
    </p> 
    </div> <script language="javascript">
    <!--
    setTimeout(changType,1000)
    function changType(){
    var obj=document.getElementById("kc")
    var innerStr=obj.innerHTML
    innerStr=innerStr.replace(/radio/ig, "checkbox")
    obj.innerHTML=innerStr
    }//-->
    </script>