4

使用 jQuery 的empty()方法,我可以防止从 DOM 中删除特定元素,同时删除所有其他元素吗?

例如:

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

当我使用 jQuery 进行此调用时$("#container").empty(),如何防止删除,noRemove同时仍删除里面的其余内容container

4

4 回答 4

11

您不能empty单独使用该功能。这是您可以做到的一种方法:

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

$container.html($noRemove);

这是一个小提琴:http: //jsfiddle.net/joplomacedo/R4cu5/

于 2012-08-27T21:10:12.917 回答
7

使用以下内容,它将从容器中删除所有内容,元素idnoRemove

$('#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 回答