jQuery:删除元素以外的元素

时间:2011-10-31 09:15:52

标签: jquery dom-manipulation

除了元素内部有什么方法可以删除元素:

<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>

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

我写了这段代码但没有工作:

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

4 个答案:

答案 0 :(得分:10)

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

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

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

答案 1 :(得分:2)

$(".thumbnail").unwrap()

http://api.jquery.com/unwrap/

答案 2 :(得分:0)

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

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

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

    $(this).append(img);

});

答案 3 :(得分:0)

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