使用jQuery删除p标签而不删除内容

8
我的情况是这样的。
<p><img src="/media/118711/banner.jpg" width="344" height="113" alt="Banner"></p>

我想使用jQuery删除p标签,但我不需要删除内容(图片)。有人可以帮助我吗?

1
你从未想过除了答案和问题之外还有哪些可点击的元素吗?我简直不敢相信。 - Roko C. Buljan
@Topener:我认为你误解了,我只问了六个问题,并将其中三个标记为正确。 - None
1
抱歉,我对你的回答感到困惑。它们都没有被标记为正确答案。你需要点击检查图标而不是箭头:http://stackoverflow.com/users/1177753/athul-ks?tab=questions - Rene Pot
@Topener:对不起,我也不知道检查标志部分。 - None
2个回答

15

这应该就可以了...

$('p > *').unwrap();

jsFiddle


2
+1 对于简明的答案和指向新学习材料(unwrap???)的点赞。谢谢。 - Gabber
@tymie 它选择所有直接子元素并将它们从其容器元素(即 p)中解包 - alex

6

p 元素的内容是另一个标签时,选择器 $('p > *') 才会起作用。如果它只包含文本,则该选择器不会匹配到它。对我来说,这样做可以解决问题:

$("p").each(function() { 
    $(this).replaceWith($(this).html());
}); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接