Heim  >  Artikel  >  Web-Frontend  >  如何实现动态删除javascript函数_javascript技巧

如何实现动态删除javascript函数_javascript技巧

WBOY
WBOYOriginal
2016-05-16 19:13:011419Durchsuche

我现在通过下面:
                o=oDOM.createElement("script");
                o.text=document.all.checkrule.value;
                oDOM.body.appendChild(o);
可以增加一个checkrule函数,
但我多次执行这段代码会多次插入这个checkrule函数,请问我怎样先删除该新增的函数.
ps:oDOM表示的是另一个页面的document对象,不是本页的document,所以用typeof(oDOM.check_rule) 总是undefined

oDOM.frames.check_rule = null
同名函数会覆盖。
你给新增加的 SCRIPT 加上一个 ID 或者 NAME,然后删除的时候就可以利用该 ID 或者 NAME 了
不过切记,一定要在 createElement 方法中就设定 ID 或者 NAME

例如:o = document.createElement("<script>" + ""+"IPT>"); <br><br>真是太感谢了,我这样可以了 <br><br> //合成校验规则 <BR> function docombjs(){ <BR> var oEditor = FCKeditorAPI.GetInstance('FCKeditor1'); <BR> var oDOM = oEditor.EditorDocument; <BR> var elem=oDOM.getElementById("checkid"); <BR> alert(elem); <BR> if(elem!=null){ <BR> elem.parentNode.removeChild(elem); <BR> } <BR> o = oDOM.createElement("<SCRIPT language='javascript' id='checkid'>" + ""+"IPT>"); <br><br> //o=oDOM.createElement("script"); <BR> o.text=document.all.checkrule.value; <BR> oDOM.body.appendChild(o); <BR> }<BR>老大,还有一点问题, <BR>如果我不用oDOM.createElement("<SCRIPT language='javascript' id='checkid'>" + ""+"IPT>");产生这个id,而直接把这个写上了,我用var elem=oDOM.getElementById("checkid"); <BR>为什么得到的是null,一定要用上面的createElement一下,才可以找到这个id,请再帮一下了,谢谢!<BR>你的意思是: <br><br>你直接在页面内写 <SCRIPT language='javascript' id='checkid'></script>,但是你通过如下语句 var elem=oDOM.getElementById("checkid"); 无法取得该对象,是吗?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn