gpt4 book ai didi

javascript - 通过 onclick 事件移除 标签中的特定 <script> 标签

转载 作者:可可西里 更新时间:2023-11-01 02:00:32 25 4
gpt4 key购买 nike

<head>

<script type="text/javascript">

function include(filename, status){
if(status == 'on'){
var head = document.getElementsByTagName('head')[0];

script = document.createElement('script');
script.src = filename;
script.type = "text/javascript";

head.appendChild(script);
} else {
// The code that wipes the script tag above
}
}

</script>

</head>

<body>
<input type="button" value="OPEN" onclick="include('script.js', 'on')">
<input type="button" value="CLOSE" onclick="include('', 'off')">
</body>

我想通过 onclick 事件删除标签中的特定标签。当我点击“CLOSE”按钮时,ELSE区域应该写什么代码?

最佳答案

最简单的方法是以某种方式维护到已创建元素的链接。例如,您可以将 include 函数放入闭包中并拥有一个私有(private)变量来保存引用:

var include = (function(){
// the reference to the script
var theScript;

return function (filename, status){
if(status == 'on'){
// adding a script tag
var head = document.getElementsByTagName('head')[0];

theScript= document.createElement('script');
theScript.src = filename;
theScript.type = "text/javascript";

head.appendChild( theScript )
}else{
// removing it again
theScript.parentNode.removeChild( theScript );
}
}
})();

一个重要提示:通过删除 <script>标记,您不要从 DOM 中删除它的任何对象、函数等。所以任何行动都是在 <script> 内开始的标签将占上风,即使您删除了首先启动它的元素!

关于javascript - 通过 onclick 事件移除 <head> 标签中的特定 &lt;script&gt; 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com