appendChild的一个奇怪问题,大家来看看
有一个table,我想克隆一行然后修改table里面的元素名称,然后直接把新克隆的行append到table最后一行,代码如下:   
  <script>  
 var   count   =1; 
 function   aa(){	 
 	var   testTb   =   document.getElementById( "testTb "); 
 	var   firstRow   =   testTb.rows[0].parentNode.cloneNode(true);	  	 
 	testTb.appendChild(firstRow);  	 
 	firstRow.childNodes[0].cells[0].childNodes[0].name=    "privateCatalog[1].cataId ";  	 
 	var   element   =   form1[ "privateCatalog[0].cataId "]; 
 	for(i   =   0;i    <element.length;i++) 
 	alert(element[i].name); 
 }   
  </script>  
  <body>  
  <form   id= "form1 "   name= "form1 "   method= "post "   action= " ">  
        <table   id= "testTb "   width= "100% "   border= "0 ">  
              <tbody>  
              <tr>  
                    <td>  <input   onclick= "aa() "   type= "text "   name= "privateCatalog[0].cataId "/>  </td>  
              </tr>  
 	 </tbody> 	   
        </table>  
  </form>  
  </body>    
 代码还是不长的,呵呵 
 说明下 
 firstRow.childNodes[0].cells[0].childNodes[0].name=    "privateCatalog[1].cataId "; 
 是吧克隆后行里面的text域付给一个新的名字叫 "privateCatalog[1].cataId ", 
 以示和原来的 "privateCatalog[0].cataId "区别; 
 然后我var   element   =   form1[ "privateCatalog[0].cataId "]; 
 这段代码居然返回的是一个数组?!! 
 更奇怪的是这个数组的第一个元素的name是privateCatalog[0].cataId 
 第二个元素的name是privateCatalog[1].cataId 
 ?? 
 咋会这样呢?我明明取的是privateCatalog[0].cataId元素啊,咋会返回来两个不同的,而且还是数组!! 
 有谁遇见过这样的怪事啊?? 
 还有,这个问题在firefox下面不存在,返回的就是当前的privateCatalog[0].cataId元素
------解决方案--------------------如果不行你可以给这几个input 加上id属性 操作方法和name一样 只是提交时是以name为准 
  <input onclick= "aa() " type= "text " id= "input1 " name= "privateCatalog[0].cataId "/>  
 var element = form1[ "input1 "];