jQuery: Entferne das Element außer dem inneren Element

Gibt es eine Möglichkeit, ein Element außer einem inneren Element zu entfernen:

 

zu

  

Ich habe diesen Code geschrieben, aber nicht funktioniert:

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

jQuery verfügt über eine unwrap() -Methode, die den übergeordneten Knoten entfernt und das übereinstimmende Element an seinem Platz belässt:

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

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

Könnte eine einfachere Methode sein, aber:

 $('.gallery').each( function() { var img = $(this).find('img'); $(this).children("a").remove(); $(this).append(img); }); 

Versuchen

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