innerHTML输出<object>时加判断

解决方案 »

  1.   

    document.all.objectId.removeNode(true)
      

  2.   

    <div id=Obj1></div>
    <script>
    delete Obj1;
    </script>//对象确实被从JS堆栈中删除,你将不能再控制它,但是他仍然在页面(属于HTML)中显示。
      

  3.   

    补充一下:可以用 Objl.style.display="none"; 使其不显示。
      

  4.   

    不好意思, 我想请问一下 Fyter(刘冰):
    <script>
    delete Obj1;
    </script>
    这段代码是干什么用的? 我好象从来都没有看到过, 恕我眼拙!
      

  5.   

    真正在页面里要清除已经加载的控件的方法无非以下几种:
    removeChild
    removeNode
    outerHTML
    你通过 display visibility 方式隐藏的方法并没有清除掉控件, 只是隐藏而已.
    delete Obj1; 这句代码在你那里可以运行通过吗? 你的浏览器是什么浏览器?
      

  6.   

    JScriptdelete Operator
    Deletes a property from an object, or removes an element from an array.delete expression
    The expression argument is a valid JScript expression that usually results in a property name or array element. Res
    If the result of expression is an object, the property specified in expression exists, and the object will not allow it to be deleted, false is returned.In all other cases, true is returned.Requirements
    Version 3
      

  7.   

    Deletes a property from an object, or removes an element from an array.
    从一个对象删除一个属性,或从数组删除一个元素。HTML的每一个对象都是其对象列表数组的一个元素。
      

  8.   

    代码1:没有提示
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Demo</title>
    </head>
    <body>
    <div id=Obj1>Demo</div>
    <script>
    delete Obj1;
    alert(Obj1);
    </script>
    </body>
    </html>
    代码2:提示[Object]
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Demo</title>
    </head>
    <body>
    <div id=Obj1>Demo</div>
    <script>
    alert(Obj1);
    delete Obj1;
    </script>
    </body>
    </html>
      

  9.   

    这个 delete 是 JScript 里的一个运算符, 这个我知道, 但是在网页也能运用这个方法?为什么我试了 N 次都没有成功? 是我的浏览器太差了(IE6.0)? 还是说你这个方法根本无用?Fyter(刘冰) 你自己在网页里有没有测试过? 有没有测试通过过??
      

  10.   

    测试通过!
    你在htm文件中分别执行上面两个代码的结果是不同的。
    alert对不明来历的标识符是不执行的也就是在调用其之前如果删除了给其的对象alert就不执行了。
      

  11.   

    Fyter(刘冰) 我查遍了MSDN里的DHTML也没有找到你这种方法! 纳闷了, 你是怎么测试通过的?
    我知道你的代码是怎么通过了, 因为这句代码是错误的, 但是你的浏览器设置里没有设置必须弹出错误信息, 所以你看不到错误的信息, 但是由于这句的代码是错误的, 所以阻止了下面JS代码的运行, 当然它后面的那个 alert 没有弹出来, 若我把你的代码改一下, 加一个按钮:
    <input type=button value=hrong onclick="alert(Obj1.innerText)"> 你再试试看就知道了
      

  12.   

    Ok,是我的错误,确实如 hrong(黄蓉 被正身封杀中) 所说。
      

  13.   

    不定期可以用这样的办法:<object id="Obj1">...</object>
    <script>Obj1.outerHTML="";</script>或
    <div id="Obj1"><object>...</object></div>
    <script>Obj1.innerHTML="";</script>
      

  14.   

    这个的讨论.好呀 :)也讲一下delete吧.权当复习一下.
    delete 运算符是个一元运算符,它将删除运算数所指定的对象的属性,数组元素或变量.
    如果删除成功,返回true,如果不能被删除,它将返回false.并非所有的属性和变量都可以
    删除的,某些内部的核心属性和客户端的属性不能删除,用var语句声明的变量也不能删除.
    (ECMAScript标准规定,当delete运算的运算数不是属性,数组,或变量时,返回true)var o = {x:1,y:2};  //定一个变量,把它初始化为一个对象
    delete o.x;         //删除一个对象属性,返回true
    typeof o.x;         //该属性不存在,返回"undefined"
    delete o.x;         //删除一个不存在的属性,返回true
    delete o;           //不能删除未声明的变量,返回false
    delete 1;           //不能删除整数,返回true
    x = 1               //不用var关键字,隐式地声明一个变量
    delete x;           //不能删除这种变量,返回true注意:
    delete所能影响的只是属性值,并不能影响这些被属性引用的对象.var my = new Object();   //创建一个名为my的对象
    my.hire = new Date();    //my.hire引用一个Date对象
    my.fire = my.hire;       //my.fire引用同一个Date对象
    delete my.hire;          //hire属性被删除,返回true
    document.write(my.fire); //但my.fire仍然引用那个Date对象From: The Definitive Guide 
    delete所能影响的只是属性值,并不能影响这些被属性引用的对象.
    所以,很明显,不能卸载对象.
      

  15.   

    不过,还有个疑问啊.<% Language="JScript" %>
    <%
    ........
    dbConnection = Server.CreateObject("ADODB.Connection");
    rs = Server.CreateObject("ADODB.Recordset");
    .......rs.Close();
    dbConnecton.Close();
    delete rs;                    //VBScript是 set rs = nothing
    delete dbConnection;          //这样算是卸载对象?
    %>
      

  16.   

    我用NewTWG(一只T小猫)的方法成功把对象卸载了
    <object id="Obj1">...</object>
    <script>Obj1.outerHTML="";</script>还有一个疑问,如何判断一个对象是否存在?因为我是通过一个按钮把其卸载的,如果用户再按第二次(绝对要允许用户按多次)就会提示:‘Obj1.outerHTML’对象为空或不是对象
      

  17.   

    <input type=button onclick="if(document.getElementById('BaoBao'))BaoBao.outerHTML=''" value="Clear">
      

  18.   

    <input type=button onclick="if(document.getElementById('Obj1'))Obj1.outerHTML=''" value="Clear">