请问下,使用js 如何将一个div内的 <script>xxxxxx</script> 这段语句删除掉?

解决方案 »

  1.   

    字符串。。最好是整段删除。。也可以删除 之间的某一段xxx
      

  2.   

    dom操作呢。。不是div里所有内容。。是其中的<script>XXX</script>
      

  3.   

    需求还是没说清楚,最好举个例子,免得别人辛辛苦苦给你写出代码后你又说"其实我不是这个意思",发帖提问也是一种艺术,当然,这不是针对你的,因为有太多的人发帖时问题描述太不详细。比如,你要给出一个完整的字符串,想要处理成什么样子,字符串数据是通过DOM获取还是直接给定。
      

  4.   

    <html>
    <head>
    <script>
    function test() {
    var div = document.getElementById("div");
    alert(div.innerHTML);
    var children = div.childNodes;
    for(var i=0; i<children.length; i++) {
    if(children[i].tagName == "SCRIPT") {
    children[i].removeNode();
    }
    }
    alert(div.innerHTML);
    }
    </script>
    </head>
    <body>
    <div id="div">
    <p>eee</p>
    <script>
    function t() {
    alert(1);
    }
    </script>
    </div>
    <input type="button" value="click" onclick="test();"/>
    </body>
    </html>
      

  5.   


    en 。。你说的对。是这样的。。
    一个html页面里有一个div,div里有一段js代码<script>XXX</script>
    我希望加入一段代码,效果是,打开html后,将div里的这整段  <script>XXX</script> 删除掉。
      

  6.   

    还是没说到点子上,也没给出可供测试的数据。有个很关键的地方,div里面的<script>xxx</script>是文本内容还是div的子节点?如果是文本内容,那么这个数据实际上是这样的:
    <div>&lt;script&gt;xxx&lt;/script&gt;</div>
      

  7.   


    一段代码
    <div>XXXXXxxxxxxxxxxxx
    <script language=javascript>yyyyyyyyyyy</script></div>
      

  8.   

    <div id="hello"><p>你好世界!</p><script type="text/javascript" src="/include/js.js"></script></div>
    现在希望,打开html时,自动将后面这段
    <script type="text/javascript" src="/include/js.js"></script>删除掉,变成
    <div id="hello"><p>你好世界!</p></div>
      

  9.   

    不需要正则,DOM即可,6楼代码稍微改一下就行了。
    当然,这样只能从文档树中删除script元素,你查看源代码的话,<script>xxx</script>还是存在的。
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <div id="hello"><p>你好世界!</p><script type="text/javascript" src="/include/js.js"></script></div><script type="text/javascript">
    window.onload = function() {
    var obj = document.getElementById('hello').getElementsByTagName('script');
    for(var i = 0; i < obj.length; i ++) document.getElementById('hello').removeChild(obj[i]);
    }
    </script>
    </body>
    </html>
      

  10.   

    var s='<div id="hello"><p>你好世界!</p><script type="text/javascript" src="/include/js.js"></'+'script></div>';s=s.replace(new RegExp('<script[^]*>[\\s\\S]*?</'+'script>','gi'),'');
    alert(s)如果你意思是不执行导入的script代码,你最好是在未输出到客户端之前替换掉,要不你用上面的正则替换掉DOM中的script也没有用,还是会照样执行script中的代码
      

  11.   

    谢谢大家。请问下,在执行<script type="text/javascript" src="/include/js.js"></script>
    这段代码前,可以将它替换成
    <script type="text/javascript"></script>
    吗?
      

  12.   

    <div id="hello"><p>你好世界!</p><script type="text/javascript" src="/include/js.js"></script></div><script>
    var str = document.getElementById("hello").innerHTML;
    str = str.replace(/<(script)[\S\s]*?\/\1>/gi, '');
    document.getElementById("hello").innerHTML = str;
    </script>