var oTBL = document.createElement("TABLE")var newObject = new Object()
newObject.object1 = document.createElement("TD")
try
{
newObject.object2 = document.createElement("IFRAME")//不能创建iframe
}
catch(e){alert(e.description)}In Microsoft?Internet Explorer 4.0, the only new elements you can create are IMG, AREA, and OPTION. As of Internet Explorer 5, you can create all elements in script, except for FRAME, IFRAME, and SELECT

解决方案 »

  1.   

    多谢骆驼兄,我还想继续问一个问题,我自定义一个对象object如下:
    <script>
    function object(a,b){
    this.a=a;
    tis.b=b;
    }
    </script>
    定义一个创建对象实例的函数如下:
    <script>
    function go(){
    newObject=new object(getElementById('td1'),getElementById('td2'));
    }
    </script>
    当我在td1的onclick事件中,go();alert(newObject.a.id);alert(newObject.b.id),它告诉我newObject没有定义!!
    但是换成newObject=new object(getElementById('td1'),getElementById('td2'));alert(newObject.a.id);alert(newObject.b.id)却可以正常显示"td1""td2"!
    这是为什么呢?
      

  2.   

    object 为保留字。用变量是最好避开。源程序该为:<script>
    function myobject(a,b){
    this.a=a;
    tis.b=b;
    }
    </script>
    定义一个创建对象实例的函数如下:
    <script>
    function go(){
    newObject=new myobject(getElementById('td1'),getElementById('td2'));
    alert(newObject.a.id+" ; "+newObject.b.id);
    }go();
    </script>
      

  3.   

    注意变量作用域:newObject=new myobject(getElementById('td1'),getElementById('td2'));==>window.newObject=new myobject(getElementById('td1'),getElementById('td2'));
      

  4.   

    骆驼兄一语惊醒梦中人啊,果然是作用域的问题,不过,象骆驼兄那样改还不行,应该这样.
    window.newObject=new myobject(document.getElementById('td1'),getElementById('td2'));
    是不是有个with()可以方便一些,怎么用的?
      

  5.   


      骆驼兄一语惊醒梦中人啊,果然是作用域的问题,不过,象骆驼兄那样改还不行,应该这样.  
    window.newObject=new  myobject(document.getElementById('td1'),document.getElementById('td2'));  
    是不是有个with()可以方便一些,怎么用的?