2011-10-31 20 views
3

内部要素以外の要素を削除するにはどのような方法があります:jQueryの:内部の要素以外の要素を削除

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

答えて

10

jQueryにはunwrap()というメソッドがあり、親ノードを削除し、一致した要素をそのまま残します。

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

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

や '$( "ギャラリー.thumbnail。")(アンラップ);' – nnnnnn

+0

@nnnnnn:うん、ちょうど:-) –

+0

@AndyEにそれを編集した:ありがとうアンディ – Nulled

0

シンプルな方法であるかもしれませんが、:

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

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

    $(this).append(img); 

}); 
0

01を試してみてください
innerhtml = $("div.gallery .thumbnail").get(); 
$("div.gallery").html(innerhtml); 
関連する問題