web-dev-qa-db-fra.com

Comment effacer tout le contenu de <div> dans un parent <div>?

J'ai un div <div id="masterdiv"> qui a plusieurs enfants <div>s.

Exemple:

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

Comment effacer le contenu de tous les enfants <div>s à l'intérieur du maître <div> à l'aide de jQuery?

210
Prasad
jQuery('#masterdiv div').html('');
258
Quentin

la fonction empty() de jQuery ne fait que cela:

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

efface le maître div.

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

efface tous les enfants divs, mais laisse le maître intact.

437
Emil Ivanov

Utilisez la syntaxe du sélecteur CSS de jQuery pour sélectionner tous les éléments div à l'intérieur de l'élément portant l'id masterdiv. Puis appelez empty() pour effacer le contenu.

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

Utiliser text('') ou html('') provoquera une analyse syntaxique de chaîne, ce qui est généralement une mauvaise idée lorsque vous travaillez avec le DOM. Essayez d'utiliser des méthodes de manipulation du DOM qui n'impliquent pas de représentation sous forme de chaîne d'objets DOM dans la mesure du possible.

19
Drew Noakes

Si tous les divs dans cette division principale doivent être effacés, c’est ça.

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

sinon, vous devez parcourir tous les enfants div de #masterdiv et vérifier si l'identifiant commence par childdiv.

$('#masterdiv div').each(
    function(element){
        if(element.attr('id').substr(0, 8) == "childdiv")
        {
            element.html('');
        }
    }
 );
11
Ikke

La meilleure façon est:

 $( ".masterdiv" ).empty();
11
Joe Mike

jQuery vous recommande d'utiliser ".empty ()", ". remove ()", ". detach ()"

si vous avez besoin de supprimer tous les éléments d'un élément, utilisez ce code:

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

si vous avez besoin de supprimer tous les éléments, utilisez ce code:

$('#target_id').remove();

i et jQuery group ne sont pas recommandés SET FUNCTION comme .html () .attr () .text (), qu'est-ce que c'est? c'est SI VOUS VOULEZ définir ce dont vous avez besoin

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

10
$("#masterdiv div").text("");
6
brendan
$("#masterdiv > *").text("")

ou

$("#masterdiv").children().text("")
6
adamse

Vous pouvez utiliser la fonction .empty () pour effacer tous les éléments enfants

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

Pour voir la comparaison entre jquery .empty (), .hide (), .remove () et .detach () suivez ici http://www.voidtricks.com/jquery-empty-hide-remove-detach /

6
Anand Roshan
$('#div_id').empty();

ou

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

Fonctionne bien pour supprimer le contenu dans une div

5
Raki

Lorsque vous ajoutez des données à div par id à l'aide d'un service ou d'une base de données, essayez-le d'abord vide, comme ceci:

var json = jsonParse(data.d);
$('#divname').empty();
5
Sheeraz
$("#masterdiv div[id^='childdiv']").each(function(el){$(el).empty();});

ou

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

essayez-les si cela vous aide.

$('.div_parent .div_child').empty();

$('#div_parent #div_child').empty();

0
Gaurav Kaushik