如何在单击</script>上删除特定的<script>

时间:2014-10-30 11:47:25

标签: javascript

我的页面上有很多标签。

<script type="text/javascript" src="script1.js"></script>
<script type="text/javascript" src="script2.js"></script>
<script type="text/javascript" src="script3.js"></script>
<script type="text/javascript" src="script4.js"></script>
<script type="text/javascript" src="script5.js"></script>
<script type="text/javascript" src="toRemove.js"></script>

我试过了:

html.replace(/<script type="text/javascript" src="toRemove.js">.*<\/script>/ims, " ");

2 个答案:

答案 0 :(得分:1)

正如其他人已经说过的那样,你不能&#34; 卸载&#34;删除其节点的脚本。但是,从技术上讲,您当然可以删除脚本节点。我不建议在文档HTML字符串上使用RegEx,而是

[].forEach.call(document.head.getElementsByTagName('script'), function( scr ) {
  if( scr.getAttribute( 'src' ) === 'toRemove.js' ) {
      scr.parentNode.removeChild( scr );
  }
});

理想情况下,您不会在那里处理您的生活文档,而是通过createDocumentFragment创建克隆,然后您可以出于某种原因重新使用它。

答案 1 :(得分:1)

您可以尝试querySelectorAll,它将从正文和头部获取脚本标记。

var scriptTagElements=document.querySelectorAll('script[src=toRemove.js]')

for(var i=0;i<scriptTagElements;i++){

    scriptTagElements[i].parentNode.removeChild(scriptTagElements[i]);

}