Javascript 是否存在删除单个HTML标记而不是整个节点的方法?

Javascript 是否存在删除单个HTML标记而不是整个节点的方法?,javascript,html,Javascript,Html,我有以下代码 <noscript> <img src="url/HugeCatPicture.jpg" name="I dont want this image to auto load"> </noscript> 我只想删除开头的noscript标签,留下结尾的noscript标签 这可以用纯JavaScript实现吗? 这样的行动可能吗 (请不要使用javascript库解决方案)Html文档是基于节点的,如果删除noscript,则它的子文档也会被

我有以下代码

<noscript>
<img src="url/HugeCatPicture.jpg" name="I dont want this image to auto load">
</noscript>

我只想删除开头的noscript标签,留下结尾的noscript标签

这可以用纯JavaScript实现吗? 这样的行动可能吗


(请不要使用javascript库解决方案)

Html文档是基于节点的,如果删除
noscript
,则它的子文档也会被删除。为此

  • 读取
    noscript的子元素
  • 获取
    noscript
    及其父DOM
  • 删除
    nosrcript
    并将子元素附加到
    noscript
    父节点

  • 我认为这是对
    标记的不当使用。从about
    noscript

    noscript元素用于向不支持脚本的用户代理提供不同的标记


    您可以将纯javascript用作:

    <script>
      // on page reload use this
     var str = '<noscript><img src="image_url" name="test"></noscript>' 
     var res = str.replace("<noscript>", "");
     document.getElementById("your_id").innerHTML = res;
    </script>
    
    
    //在“重新加载”页面上,使用以下命令
    var str=''
    var res=str.replace(“,”);
    document.getElementById(“您的id”).innerHTML=res;
    
    你能像
    var a=''那样做吗;a、 替换(“,”)
    为什么要这样做?原因可能会引导您找到解决方案。@debin谢谢,但我不能按照您的建议去做,因为我的示例中的标记已经硬写在html页面上了。我需要删除至少一个标记的方法,以便浏览器可以再次访问img标记进行加载。为什么要这样做?@OriDrori我希望删除一个noScript标记,因为我无法访问包装在noScript标记中的内容。我之所以不使用脚本标记,首先是为了防止自动加载大型图像。我正在优化一个在一个页面上包含300多个图像的项目,我不希望添加javascript来更新所有300多个图像的src;在noscript标记中包装HTML元素会使javascript无法访问其内容(子节点),除非浏览器未启用javascript。所以这个答案不会有帮助。@ReallyNiceCode,你能再看一遍你的评论并给我解释一下吗?除非那部分发生了,否则怎么会发生呢?+您可以访问noscript元素及其
    textContent
    innerHTML
    ,然后需要以不同的方式使用
    。编写防止自动加载
    的脚本。我刚才说通过阅读
    alt
    attribute.@kaido简单地说:“JavaScript不能简单地读取标记的子元素。所以这个答案是行不通的。请运行一个简单的测试,看看我在说什么@ReallyNiceCode,是的,它可以读取其内容,但此内容不是DOM的一部分,因此不能对其使用直接DOM选择。但是,您可以访问此节点的textContent并对其进行解析。但这比在设置IMG的src之前在IMG上添加数据属性更糟糕。如果您关心性能,那么修改DOM结构300次不是一个好主意。谢谢,我知道该标记旨在为不支持javaScript或禁用javaScript的浏览器提供回退内容。但我用它作为一个优化黑客。我希望防止标签自动加载其图像。。但我不希望手动编辑超过300个标签。在noscript标记中包装图像标记成功地阻止了图像自动加载。。。但现在我无法动态访问noscript标记中的内容。解决方案是不要将其用作优化黑客,因为这是错误的。谢谢,但您的解决方案意味着我正在使用javascript动态添加标记。。。相反,我将标签硬编码到页面上;然后在页面加载时,我希望使用javascript删除一个noscript标记。