使用jQuery的empty()
方法,我可以阻止从DOM中删除特定元素,同时删除所有其他元素吗?
例如:
<div id="container">
<div id="noRemove"></div>
... more content ...
</div>
当我使用jQuery $("#container").empty()
进行此调用时,如何在删除noRemove
内的其他内容时阻止删除container
?
答案 0 :(得分:11)
您无法单独使用empty
功能。这是你可以做到的一种方式:
var $container = $('#container'),
$noRemove = $container.find('#noRemove');
$container.html($noRemove);
答案 1 :(得分:7)
使用以下内容,它会删除容器中的所有内容,但 id
为noRemove
的元素:
$('#container').contents().filter(function () {
return this.id != "noRemove";
}).remove();
<强> DEMO 强>
答案 2 :(得分:2)
这是我刚才使用的,涉及在特定行的AJAX拉动后刷新表数据。一点替代答案。
$('.overrideFcstRow td').each(function(){
if(!$(this).hasClass('overrideTitle')){
$(this).empty();
}
});
答案 3 :(得分:-1)
我认为这应该可以解决问题:
$("#container").find(":not(#noRemove)").remove();