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

Que*_*low 1 jquery dom noscript

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

<a href="some_image.jpg">
 <noscript>
  <img src="some_image.jpg">
 </noscript>
</a>
Run Code Online (Sandbox Code Playgroud)

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

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

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

<a href="some_image.jpg">
 "
  <img src="some_image.jpg">
 "
</a>
Run Code Online (Sandbox Code Playgroud)

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

und*_*ned 6

你可以用它的内容替换元素:

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

http://jsfiddle.net/x9Eaw/