用了innerHTML难道就不算移动吗?<form id=myform>
<table>
<tr id=tr1><td id=td1><input type=text name=mytxt></td><td>null</td></tr>
<tr id=tr2><td id=td2></td><td>null</td></tr>
</table>
</form>
<script language="JavaScript">
<!--
td2.innerHTML = myform.mytxt.outerHTML;
td1.innerHTML = '';
alert(myform.mytxt.parentElement.id);
//-->
</script>

解决方案 »

  1.   

    <form id=myform>
    <table>
    <tr id=tr1><td id=td1> <input type=text name=mytxt></td><td>null</td></tr>
    <tr id=tr2><td id=td2></td><td>null</td></tr>
    </table>
    </form>
    <input type=button value=test onclick=move()>
    <script>
    function move(){
      var p=document.all.mytxt.parentElement.id;
      alert(p)
      if(p=="td2")return
      document.all.td2.insertBefore(document.all.td1.firstChild.removeNode(true));
      alert(document.all.mytxt.parentElement.id)
    }
    </script>
      

  2.   

    <table>
    <tr id=tr1><td id=td1> <input type=text name=mytxt ></td><td>null</td></tr>
    <tr id=tr2><td id=td2></td><td>null</td></tr>
    </table>
    <script>
    alert(mytxt.parentElement.id);
    td2.innerHTML = td1.innerHTML;
    td1.innerHTML = "";
    alert(mytxt.parentElement.id);
    </script>
    移动后,可以看出来mytxt.parentElement是td2了。
      

  3.   

    虽然不改源文件,但是load进来的HTML DOM是可以修改的,也已经修改了。
      

  4.   

    因为我的<input type=text ...>是asp.net的服务器端控件,<input type=text name=mytxt >是客户端的模样,采用写HTML原码的方式后,能否响应服务器端的事件,我还要做进一步测试。(曾经试过,没成功)