我正在尝试删除图片的第一个包装标签如果存在
<div class="feature">
<a>
<img width="252" height="79" alt="" src="http://localhost:81/site/wp-
content/uploads/2011/12/home-highlights.jpg" title="home-highlights"
class="alignnone size-full wp-image-55">
</a>
</div>
我已经看了很多选项,我认为我的方法是正确的:
$(".feature img").closest('a').remove();
如果我使用上面的示例,它也会移除图像,这当然不是我想要的。
答案 0 :(得分:16)
jQuery有一个内置函数:unwrap
:
$(".feature a > img").unwrap();
unwrap
docs:
从DOM中删除匹配元素集的父元素,将匹配的元素留在原位。
child(>)
选择器docs:
描述:选择由“parent”指定的元素“child”指定的所有直接子元素。
谢谢@am不是我!
的 JSFiddle DEMO 强>
答案 1 :(得分:5)
unwrap method是你想要的那个:
$(".feature a").children('img').unwrap();
答案 2 :(得分:0)
你是对的,它将删除元素和任何子元素。试试这个,将图像保存为变量并替换div的html:
var myImg = $('.feature img');
$('.feature').html(myImg);