jQuery:除了内部元素之外删除元素

3
有没有办法除了在元素内部之外移除元素?
<div class="gallery">
  <a href="images/rep.png" title="rep">
    <img src="http://example.com/uploads/rep.png" class="thumbnail" alt="rep" title="rep">
  </a>
</div>

to

<div class="gallery">
  <img src="http://example.com/uploads/rep.png" class="thumbnail" alt="rep" title="rep">
</div>

我写了这段代码,但是它不能工作:

$(".gallery").contents().filter(".thumbnail").remove();
4个回答

10

jQuery有一个unwrap()方法,它会移除父节点并保留匹配元素的位置:

$(".gallery").contents().filter(".thumbnail").unwrap();

// or (faster)
$(".gallery .thumbnail").unwrap();

1
或者 $(".gallery .thumbnail").unwrap(); - nnnnnn

2

0

可能有更简单的方法,但是:

$('.gallery').each( function() {

    var img = $(this).find('img');
    $(this).children("a").remove();

    $(this).append(img);

});

0

尝试

innerhtml = $("div.gallery .thumbnail").get();
$("div.gallery").html(innerhtml);

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