javascript - 使用 JavaScript 删除 head 标签内的 noscript 标签

标签 javascript dom

我正在尝试删除 <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/

相关文章:

java - (Java)VTD-XML 和 Xpath 比较节点子元素

javascript - React Native - 我们如何知道父元素包含哪个子元素?

php - 如何在php中查看DOMNodeList对象的数据

javascript - 使用 API 动态字段分配表格单元格

javascript - 如何将文本节点中的每个字符包装在 <li> 中?

javascript - S3 : How to upload a large file using S3 in nodejs using aws-sdk

javascript - ReactJS/Typescript/Redux - 具有数据类型编号和逗号值的 onChange 事件

javascript - 使用 jquery 动态创建下拉菜单不起作用

javascript - 如何在 Angular 中禁用 img?

javascript - $(this).html 在 jquery 中不起作用