jquery 删除脚本标记

vlju58qv  于 2023-06-22  发布在  jQuery
关注(0)|答案(4)|浏览(135)

祝你愉快。我正在尝试通过ID删除脚本标记。为此,我申请代码

var elem = document.getElementById("sns_scripts");
elem.remove();

但是,这是给予我的控制台窗口错误是:

Uncaught TypeError: Cannot read property 'remove' of null

我尝试的另一个方法是:

$("#sns_scripts").remove();

它也不起作用。见图片

图片是提到,sns_scripts脚本仍然avaialbe,和上面这个脚本我的自定义代码,但它不工作.请帮助我,我真的想从我的网页中删除sns_scripts脚本。

axzmvihb

axzmvihb1#

将您的代码 Package 在DOMContentLoaded事件中:

document.addEventListener('DOMContentLoaded', function(){
    var elem = document.getElementById("sns_scripts");
    elem.remove();
});

因为你试图获取一个元素,而这个元素在DOM中是不可用的。所以,它是空的。

dohp0rv5

dohp0rv52#

不要使用elem.remove(),而是使用
$(elem).remove();

xuo3flqw

xuo3flqw3#

**注意:**重新排序代码中的以下行。因为在编写id为(sns_script)的脚本之前,您正在运行remove()函数:

<script type="text/javascript" id="sns_scripts">var video=document.getElementById('bgvid');</script>
<script>
$('#sns_scripts').remove();
</script>
qlckcl4x

qlckcl4x4#

假设你的DOM中有一个脚本,带有自定义属性:data-scriptid="MyDomScript"

<script src="jquery-3.6.0.min.js" data-scriptid="MyDomScript"></script>

然后你可以像这样以编程方式删除它:

let domScripts = document.querySelectorAll('[data-scriptid="MyDomScript"]');
   domScripts.forEach(function(s) {
   s.remove();
});

请注意,这只会从DOM中删除脚本标记,但不会完全删除脚本已经定义的变量或事件。你必须手动清除它们。

相关问题