我正在尝试删除 <noscript>
使用 JavaScript 进行标记。但迄今为止的每一次尝试都失败了。
我尝试过这些:
// The noscript tag has a id. I'm accessing it over this id
var noscript = window.document.getElementById("noscript_with_id");
noscript.parentNode.removeChild(noscript); // noscript.parentNode is null
noscript.outerHTML = ""; // doesn't do anything
noscript.innerHTML = ""; // doesn't do anything
我不能使用 jQuery。只是简单的 JavaScript。
由于我通过特定 ID 访问元素并使用其内容,因此有效的解决方案可能是更改 ID 或清空内容。我需要删除它,因为使用该元素的代码可能会执行多次。
noscript 标签位于 <head>
内标签。我用它来异步加载一些样式表。
我设置了一个有问题的页面。 https://blitz.icon-craft.net/layout_test/
检查控制台和 https://blitz.icon-craft.net/includes/js/loadCSS.js
(我想指出,这个网站实际上使用了 jQuery。但我计划在不使用它的网站上使用该脚本。仅对于这个小脚本包含 jQuery 是没有任何意义的。)
最佳答案
假设<head>
标签是父级。
var noscript = document.getElementsByTagName('noscript');
var parent = document.getElementsByTagName('head')[0];
for(var i in noscript) {
parent.removeChild(noscript[i]);
}
我在 SO 网站上测试了这个,它有效。 noscript
标签位于 body
内标签,因此代码明显不同,选择 body
标签。
如果 noscript
则会失败标签有不同的 parent 。只有那些范围在您选择的父级范围内的才会被删除。
关于javascript - 使用 JavaScript 删除 head 标签内的 noscript 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30877378/