function test(a) 

  if(a="one"){ 
  document.all.Div1.style.display="block"; 
  document.all.Div2.style.display="none"; 
    //alert(a); //这里加一个alert才行,否则下面控件的connect()方法不执行 
  document.getElementById("Div1").innerHTML="aaa"; 
  } 
  if(a="two"){ 
  document.all.Div1.style.display="none"; 
  document.all.Div2.style.display="block"; 
  //alert(a); //这里加一个alert才行 
  document.getElementById("Div2").innerHTML="aaa"; 
  } 

这样的可以执行没?
如果可以的话那就不是这个的原因,而是connect(); 

解决方案 »

  1.   

    document.getElementById("Div2").innerHTML="aaa"; //是可以执行的应该不会是connect()的问题,因为我初始使用的时候是可以的。
    <body onload="forload()"> …js:function forload()
    {
      document.getElementById("Object1").connect(); 
    }
      

  2.   

    。。理论上是object么有加载完成你就调用方法了。
    alert的延迟让系统有时间加载完。。
      

  3.   

    setTimeout(function(){document.getElementById("Object2").connect();},10)
      

  4.   

    加载延时, 我遇见过, 用setTimeout(fun, 1000) 吧
      

  5.   

    thanks  tengfei3003 !!!果然是延时加载的问题。昨天我就做过延时执行,但因为我要带很多不同的参数,试了一半就放弃了!结论:控件未加载完毕就引用方法了,因此要做个延时:
          var tt= document.getElementById("Object2");
          setTimeout(function sleep(){ tt.connect();}, 100);
    OK!
      

  6.   


    另外,延时后需要释放setTimeout吗?
      

  7.   

    另外,用setTimeout后要不要释放?