如何清除父<div>中的所有<div> s'内容?

Pra*_*sad 213 html javascript jquery dom-manipulation

我有一个<div id="masterdiv">有几个孩子<div>的div .

例:

<div id="masterdiv">
  <div id="childdiv1" />
  <div id="childdiv2" />
  <div id="childdiv3" />
</div>
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery 清除<div>master 中所有子<div>进程的内容?

Emi*_*nov 440

jQuery的empty()功能就是这样:

$('#masterdiv').empty();
Run Code Online (Sandbox Code Playgroud)

清除主人div.

$('#masterdiv div').empty();
Run Code Online (Sandbox Code Playgroud)

清除所有孩子div,但让主人完好无损.

  • http://api.jquery.com/empty/这是真的,但我不知道为什么昆汀回答接受:) (8认同)
  • 这比原始问题中要求的更清晰 - 你应该使用更多[特定选择器](http://stackoverflow.com/questions/1701973/clear-all-divs-contents-inside-a-div/ 3543068#3543068). (5认同)
  • 哇,谢谢你Drew在1.5年后指出这个:)固定. (4认同)

Que*_*tin 262

jQuery('#masterdiv div').html('');
Run Code Online (Sandbox Code Playgroud)

  • 使用`.empty()`将是一个更好的选择,因为不涉及字符串解析.它直接在DOM对象模型上运行. (115认同)
  • `empty()`也清除了jQuery生成的所有内容. (7认同)

Dre*_*kes 20

使用jQuery的CSS选择器语法选择div具有id的元素内的所有元素masterdiv.然后打电话empty()清除内容.

$('#masterdiv div').empty();
Run Code Online (Sandbox Code Playgroud)

使用text('')html('')将导致进行一些字符串解析,这在使用DOM时通常是个坏主意.尝试并使用DOM操作方法,尽可能不涉及DOM对象的字符串表示.


Abd*_*yir 12

jQuery建议您使用".empty()",".remove()",".detach()"

如果您需要删除元素中的所有元素,请使用以下代码:

$('#target_id').empty();
Run Code Online (Sandbox Code Playgroud)

如果您需要删除所有元素,请使用以下代码:

$('#target_id').remove();
Run Code Online (Sandbox Code Playgroud)

我和jQuery组不建议使用像.html().attr().text()这样的SET FUNCTION,那是什么?它如果你想设置你需要什么

ref:https://learn.jquery.com/using-jquery-core/manipulating-elements/


Ikk*_*kke 11

如果masterdiv中的所有div都需要清除,那就这样吧.

$('#masterdiv div').html('');
Run Code Online (Sandbox Code Playgroud)

否则,你需要迭代#masterdiv的所有div子项,并检查id是否以childdiv开头.

$('#masterdiv div').each(
    function(element){
        if(element.attr('id').substr(0, 8) == "childdiv")
        {
            element.html('');
        }
    }
 );
Run Code Online (Sandbox Code Playgroud)


Joe*_*ike 11

更好的方法是:

 $( ".masterdiv" ).empty();
Run Code Online (Sandbox Code Playgroud)


Ala*_*ruz 11

我知道这是一个jQuery相关的问题,但我相信有人可能会期待一个纯粹的Javascript解决方案。因此,如果您尝试使用 来执行此操作js,则可以使用该innerHTML属性并将其设置为空字符串。

document.getElementById('masterdiv').innerHTML = '';
Run Code Online (Sandbox Code Playgroud)

  • 当搜索如何清空 div 时,这是 Google 上的最高结果。谢谢你! (2认同)

ada*_*mse 6

$("#masterdiv > *").text("")
Run Code Online (Sandbox Code Playgroud)

要么

$("#masterdiv").children().text("")
Run Code Online (Sandbox Code Playgroud)


Ana*_*han 6

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

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

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


小智 5

$('#div_id').empty();
Run Code Online (Sandbox Code Playgroud)

要么

$('.div_class').empty();
Run Code Online (Sandbox Code Playgroud)

正常工作以删除div中的内容

  • 埃米尔·伊万诺夫(Emil Ivanov)的答案重复。 (3认同)

小智 5

使用任何服务或数据库将数据按ID附加到div中时,请先将其尝试为空,如下所示:

var json = jsonParse(data.d);
$('#divname').empty();
Run Code Online (Sandbox Code Playgroud)