我有一个div <div id="masterdiv">,它有几个子<div>s。

例子:

<div id="masterdiv">
  <div id="childdiv1" />
  <div id="childdiv2" />
  <div id="childdiv3" />
</div>

如何使用jQuery清除所有子<div>的内容里面的主<div> ?


当前回答

$('#div_id').empty();

or

$('.div_class').empty();

可以很好地删除div中的内容

其他回答

jQuery的empty()函数就是这样做的:

$('#masterdiv').empty();

清除主div。

$('#masterdiv div').empty();

清除所有子div,但保留主div完整。

我知道这是一个与jQuery相关的问题,但我相信有些人可能会期待一个纯Javascript的解决方案。所以,如果你试图使用js来做这件事,你可以使用innerHTML属性并将其设置为空字符串。

document.getElementById('masterdiv').innerHTML = '';
$("#masterdiv > *").text("")

or

$("#masterdiv").children().text("")
$("#masterdiv div[id^='childdiv']").each(function(el){$(el).empty();});

or

$("#masterdiv").find("div[id^='childdiv']").each(function(el){$(el).empty();});

可以使用.empty()函数清除所有子元素

 $(document).ready(function () {
  $("#button").click(function () {
   //only the content inside of the element will be deleted
   $("#masterdiv").empty();
  });
 });

要查看jquery .empty(), .hide(), .remove()和.detach()之间的比较,请访问http://www.voidtricks.com/jquery-empty-hide-remove-detach/