请教:下列方法中用参数传值和直接对象操作有什么不同,直接对象操作就可实现我要的效果,但是用参数传值为什么不行。。
<script>      
   function move(obj1,obj2)
{
var div1 = document.getElementById(obj1);
var div2 = document.getElementById(obj2).childNodes[0];
if(document.getElementById(obj2) != null)
{
div1.childNodes[0].childNodes[0].childNodes[0].appendChild(div2);
}
}
      function moveall()
  {
  move("RollInfo1_Item_Titel_0","RollInfo1_Item_Sql_Field_New_0");
  move("RollInfo1_Item_Titel_1","RollInfo1_Item_Sql_Field_New_1");
  move("RollInfo1_Item_Titel_2","RollInfo1_Item_Sql_Field_New_2");
  move("RollInfo1_Item_Titel_3","RollInfo1_Item_Sql_Field_New_3");
  move("RollInfo1_Item_Titel_4","RollInfo1_Item_Sql_Field_New_4");
  move("RollInfo1_Item_Titel_5","RollInfo1_Item_Sql_Field_New_5");
  move("RollInfo1_Item_Titel_6","RollInfo1_Item_Sql_Field_New_6");
  move("RollInfo1_Item_Titel_7","RollInfo1_Item_Sql_Field_New_7");
  move("RollInfo1_Item_Titel_8","RollInfo1_Item_Sql_Field_New_8");
  move("RollInfo1_Item_Titel_9","RollInfo1_Item_Sql_Field_New_9");
  }
   moveall(); } if(document.getElementById("RollInfo1_Item_Sql_Field_New_0") != null)
{
     document.getElementById("RollInfo1_Item_Titel_0").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_0").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_1") != null)
{
     document.getElementById("RollInfo1_Item_Titel_1").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_1").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_2") != null)
{
     document.getElementById("RollInfo1_Item_Titel_2").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_2").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_3") != null)
{
     document.getElementById("RollInfo1_Item_Titel_3").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_3").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_4") != null)
{
     document.getElementById("RollInfo1_Item_Titel_4").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_4").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_5") != null)
{
     document.getElementById("RollInfo1_Item_Titel_5").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_5").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_6") != null)
{
     document.getElementById("RollInfo1_Item_Titel_6").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_6").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_7") != null)
{
     document.getElementById("RollInfo1_Item_Titel_7").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_7").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_8") != null)
{
     document.getElementById("RollInfo1_Item_Titel_8").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_8").childNodes[0]);
}
if(document.getElementById("RollInfo1_Item_Sql_Field_New_9") != null)
{
     document.getElementById("RollInfo1_Item_Titel_9").childNodes[0].childNodes[0].childNodes[0].appendChild(document.getElementById("RollInfo1_Item_Sql_Field_New_9").childNodes[0]);
}    </script>

解决方案 »

  1.   

    [code JScript]
     function move(obj1,obj2)
            {
                var div1 = document.getElementById(obj1);
                var div2 = document.getElementById(obj2).childNodes[0];
                while(document.getElementById(obj2) != null) //错在这里 while 不是 if
                {    
                    div1.childNodes[0].childNodes[0].childNodes[0].appendChild(div2);
                }
            }
    [/code]
      

  2.   

     
    function move(obj1,obj2) 
            { 
                var div1 = document.getElementById(obj1); 
                var div2 = document.getElementById(obj2).childNodes[0]; 
                while(document.getElementById(obj2) != null) //错在这里 while 不是 if 
                {    
                    div1.childNodes[0].childNodes[0].childNodes[0].appendChild(div2); 
                } 
            } 
      

  3.   

    试试这样    function move(obj1,obj2)
    {
        var div1 = document.getElementById(obj1);
        var div2 = document.getElementById(obj2);
        if(div2 != null)
        {
            div1.childNodes[0].childNodes[0].childNodes[0].appendChild(div2.childNodes[0]);
        }
    }
    function moveall()
    {
        for(var i=0;i<=9;i++)
        {
            eval('move("RollInfo1_Item_Titel_'+i+'",'+'"RollInfo1_Item_Sql_Field_New_'+i+'")')
        }

      

  4.   

    用参数和不用参数本身没区别,因为代码不全,所以我猜测你出错的原因如下
     定义 div2的时候,你是这样定义的:
     var div2 = document.getElementById(obj2).childNodes[0];此时如果 document.getElementById(obj2).childNodes[0] 这个结点没有,浏览器会提示;
    document.getElementById('') 未定义或者为空,所以出错,定义改成
    var div2 = document.getElementById(obj2)
    if(div2.childNodes[0]){
    ......//doSth
    }
    就没问题