删除包裹<a> anchor tag from an image using jQuery</a>

时间:2012-02-15 14:35:51

标签: javascript jquery html css anchor

我正在尝试删除图片的第一个包装标签如果存在

   <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();

如果我使用上面的示例,它也会移除图像,这当然不是我想要的。

3 个答案:

答案 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);