我的页面上有很多标签。
<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, " ");
答案 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]);
}