2010-01-07 33 views
4

离开内容有HTML这样的:我如何删除匹配的标签,但与jQuery

<div> 
<div class="a"> 
    content1 
</div> 
content 2 
<div class="a"> 
    <b>content 3</b> 
</div> 
</div> 

,我想摆脱的div类=“一个”,但离开自己的内​​容。我最初的尝试是:

$("div.a").replaceWith($(this).html()); 

然而是不确定的。你会如何做到这一点?

回答

8

尝试

$("div.a").each(function(){ 
    $(this).replaceWith($(this).html()); 
}); 
5

与他们的字符串化的HTML内容替换元素将核弹的任何事件处理程序,可能是到位。这会不会:

$("div.a").each(function() { 
    $(this).replaceWith($(this.childNodes)); 
}); 
+0

如果你有相同的类嵌套多层次这个答案完美的作品。接受的答案不。 +1 – Ergec 2014-12-10 18:54:42

0

在jQuery中你也可以使用contentsunwrap

$(".parent").find(".a").contents().unwrap();
<div class="parent"> 
 
<div class="a"> 
 
    content1 
 
</div> 
 
content 2 
 
<div class="a"> 
 
    <b>content 3</b> 
 
</div> 
 
</div>