使用 jQuery 的empty()
方法,我可以防止从 DOM 中删除特定元素,同时删除所有其他元素吗?
例如:
<div id="container">
<div id="noRemove"></div>
... more content ...
</div>
当我使用 jQuery 进行此调用时$("#container").empty()
,如何防止删除,noRemove
同时仍删除里面的其余内容container
?
使用 jQuery 的empty()
方法,我可以防止从 DOM 中删除特定元素,同时删除所有其他元素吗?
例如:
<div id="container">
<div id="noRemove"></div>
... more content ...
</div>
当我使用 jQuery 进行此调用时$("#container").empty()
,如何防止删除,noRemove
同时仍删除里面的其余内容container
?
您不能empty
单独使用该功能。这是您可以做到的一种方法:
var $container = $('#container'),
$noRemove = $container.find('#noRemove');
$container.html($noRemove);
这是一个小提琴:http: //jsfiddle.net/joplomacedo/R4cu5/
使用以下内容,它将从容器中删除所有内容,但元素id
为noRemove
:
$('#container').contents().filter(function () {
return this.id != "noRemove";
}).remove();
演示。
这是我刚刚使用的东西,它涉及在特定行的 AJAX 拉取后刷新表数据。有点偏题的回答。
$('.overrideFcstRow td').each(function(){
if(!$(this).hasClass('overrideTitle')){
$(this).empty();
}
});
我认为这应该可以解决问题:
$("#container").find(":not(#noRemove)").remove();