jquery - 如何使用 jquery 删除 noscript 标签包装?

标签 jquery dom noscript

我想删除环绕图像的 noscript 标签:

<a href="some_image.jpg">
 <noscript>
  <img src="some_image.jpg">
 </noscript>
</a>

我尝试了unwrap(),但它在noscript中不起作用,接下来我尝试了html()方法:

$('a').html(function(index, oldhtml){
   return oldhtml.replace(/\<noscript\\?>/g, '');
});

虽然标签被删除,但它生成一个字符串而不是 DOM:

<a href="some_image.jpg">
 "
  <img src="some_image.jpg">
 "
</a>

如何在保持 img 元素不变的情况下删除 noscript 标签包装?

最佳答案

您可以用元素的内容替换该元素:

$('noscript').replaceWith(function() {
    return this.textContent || this.innerText;
    // return $('<div/>').html(this.innerHTML).text();
});

http://jsfiddle.net/x9Eaw/

关于jquery - 如何使用 jquery 删除 noscript 标签包装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942856/

相关文章:

javascript - 将数据输入 JSON 变量

jquery - 在处理 focusout 和 keydown 时,如何防止 Enter 键触发 focusout?

javascript - JavaScript 宿主对象是如何实现的?

javascript - 在浏览器 JavaScript 中,将 csv 文本写入剪贴板时出现错误消息

php - 我们可以在 <noscript> 标签中使用 php 吗?代码会验证吗?

javascript - 如何在 <noscript> 标记中使用 &lt;style&gt; 元素?

jquery - 我可以将其转换为仅使用地址链接吗?

javascript - 将 animate 和 load 与 jQuery 相结合

javascript - 从页面列表中查找单词

indexing - <noscript> 会向 Google 爬虫隐藏其余的静态内容吗?