4

jQuery のempty()方法を使用して、特定の要素が DOM から削除されるのを防ぐことができますが、他のすべての要素は削除されますか?

例えば:

<div id="container">
    <div id="noRemove"></div>
    ... more content ...
</div>

jQuery でこの呼び出しを行う場合、 の残りのコンテンツを削除しながら$("#container").empty()の削除を防ぐにはどうすればよいですか?noRemovecontainer

4

4 に答える 4

11

empty機能単体ではご利用いただけません。これを行う方法の 1 つを次に示します。

var $container = $('#container'),
    $noRemove = $container.find('#noRemove');

$container.html($noRemove);

ここにフィドルがあります:http://jsfiddle.net/joplomacedo/R4cu5/

于 2012-08-27T21:10:12.917 に答える
7

以下を使用すると、コンテナからすべてが削除されます、要素idは次のnoRemoveとおりです。

$('#container').contents().filter(function () {
    return this.id != "noRemove";
}).remove();

デモ

于 2012-08-27T21:13:54.940 に答える
2

これは、特定の行の AJAX プル後にテーブル データを更新するために使用したものです。ちょっと身勝手な回答。

$('.overrideFcstRow td').each(function(){
    if(!$(this).hasClass('overrideTitle')){
        $(this).empty();
    }
});
于 2015-02-11T20:23:04.023 に答える
-1

これでうまくいくはずだと思います:

$("#container").find(":not(#noRemove)").remove();
于 2012-08-27T21:12:07.390 に答える