javascript - 动态从 html 页面中删除 javascript

标签 javascript jquery html

我使用以下方法动态加载了 JavaScript:

  var fileref=document.createElement('script')

  fileref.setAttribute("type","text/javascript")

  fileref.setAttribute("src", "../scripts/sample.js");

  $("head").append(fileref);

现在要删除/卸载脚本,反向操作将不起作用,因为一旦在浏览器中执行的脚本就无法删除。

有解决方案/解决方法吗?

最佳答案

您可以使用 removeChild 删除元素:

var head = document.getElementsByTagName('head')[0];

//removing it from the head, where you added them
head.removeChild(script);
<小时/>

或者

根据您在评论部分的解释,尝试此解决方案:-

var fileref=document.createElement('script');

fileref.setAttribute("type","text/javascript");

fileref.setAttribute("src", "../scripts/sample.js");

fileref.setAttribute("id","scid");         //<-------add 'id' to script

$("head").append(fileref);

然后删除带有 id 的脚本,如下所示:

var element = document.getElementById("scid");
element.parentNode.removeChild(element);

关于javascript - 动态从 html 页面中删除 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25737000/

相关文章:

javascript - 将 console.table() 与 jQuery 数组一起使用——如何不包含 "extra"jquery 属性

javascript - 如何使用 Ajax 通过 Bootstrap Modal 提交表单

html - 部分元素的角色属性值无效?

javascript - 仅获取单击的 div 元素的子元素

javascript - 创建neo4j和nodejs的重复 Node

javascript - 如何以最有效的方式检查相同的数组?

jquery - 原型(prototype)等效于 JQuery 的 offset()

javascript - 禁用选定行的 href 链接

javascript - $scope 没有更新

javascript - 使用 Array.map 在 javascript 对象内创建多个键