Comment puis-je utiliser jQuery pour supprimer un div SPÉCIFIQUE qui n’a pas d’enfants (au moins aucun enfant qui n’est pas un espace) Par exemple
some content some more content
Voulez-vous supprimer complètement le div avec id = “removeme”.
Pour supprimer l’élément dont l’ id
égal à removeme
:
$("#removeme").remove();
Pour supprimer l’élément avec un id
égal à removeme
uniquement s’il est vide:
$("#removeme:empty").remove();
Pour supprimer tous les
s vides:
$("div:empty").remove();
EDIT: Si ce n’est pas vide, mais a des espaces:
if($.sortingm($("#removeme").text()) == "") { $("#removeme").remove(); }
J’y suis allé avec:
$('#outer > div').filter(function (index) { return $(this).children().length < 1; }).remove();
Cela dit:
Malheureusement, cela supprimera la div si elle contient du texte, ce qui n’est probablement pas ce que l’affiche originale aurait voulu. Le texte brut ne compte pas comme un enfant.
Je pense que tu veux ça:
$('div#outer div:empty').remove();
Cela supprimera tous les div vides à l’intérieur du div # node externe
Je ne pouvais pas trouver un sélecteur qui ignore les nœuds de texte. Il s’agit donc de l’extrait de code le plus rapide / le plus sale que j’ai pu créer.
$("#header").each(function() { if($(this).children().length < 1) $(this).remove() });
Voici si vide avec les enfants alors vous pouvez pointer sur les enfants et ensuite supprimer un parent, cela ne regarde pas les espaces, il suffit de supprimer si vide
tellement comme; si li est vide, il supprime #removeme
if (!$("#tabs ul li").length) $('#tabs').remove();