如何删除元素而不删除其中的内容?

时间:2012-03-17 18:30:31

标签: jquery

如何删除元素但不删除内容 内容?

<a href="#">
    <span>
        <img src="pic-1.jpg"/>
    </span>
</a>

我想删除包装图片的span

所以我可以,

<a href="#">

    <img src="pic-1.jpg"/>

</a>

4 个答案:

答案 0 :(得分:37)

您需要unwrap

$('img').unwrap();

答案 1 :(得分:8)

$(document).ready(function(){
  $span = $('span');
  $span.replaceWith($span.html());
}); 

参见示例http://jsfiddle.net/vikastyagi87/Xaa39/6/

答案 2 :(得分:4)

你正在寻找jQuery函数unwrap()

  

从DOM中删除匹配元素集的父元素,将匹配的元素留在原位。

查看the API doc page了解详情。

答案 3 :(得分:1)

您必须在此处稍微修改HTML架构:

<a href="#" id="my_href">
    <span id="my_span">
        <img src="pic-1.jpg"/>
    </span>
</a>

jQuery解决方案:

$("#my_href").html($("#my_span").html());

非jQuery解决方案:

document.getElementById("my_href").innerHTML = document.getElementById("my_span").innerHTML;