J'essaie de supprimer un div spécifique si un div distinct est vide. Voici ce que j'utilise:
$(document).ready(function () {
if ('#leftmenu:empty') {
$('#menuTitleWrapper').remove();
$('#middlemenu').css({ 'right': '0', 'position': 'absolute' });
$('#PageContent').css({ 'top': '30px', 'position': 'relative' });
}
});
Je pense que c'est proche mais je ne peux pas comprendre comment écrire le code pour tester le #leftmenu est vide. Toute aide est appréciée!
trim()
fonctionne parfaitement pour moi. J'ai dû supprimer une colonne dans Sharepoint qui ajoutait un espace blanc, dans lequeltrim()
trouve. Merci..text()
parce que vous pouviez en fait avoir un commentaire dans le conteneur "vide" et donc nitrim
ni:empty
ne fonctionnerait. Thx.html()
si un conteneur a un contenu HTML très long?Cela dépend de ce que vous entendez par vide.
Pour vérifier s'il n'y a pas de texte (cela autorise les éléments enfants qui sont eux-mêmes vides):
Pour vérifier s'il n'y a pas d'éléments enfants ou de texte:
Ou,
la source
Si vous voulez une démonstration rapide de la façon dont vous vérifiez les divs vides, je vous suggère d'essayer ce lien:
http://html-tuts.com/check-if-html-element-is-empty-or-has-children-tags/
Vous trouverez ci-dessous quelques exemples courts:
Utiliser CSS
Si votre div est vide sans rien, même pas d'espace blanc, vous pouvez utiliser CSS:
Malheureusement, il n'y a pas de sélecteur CSS qui sélectionne l'élément frère précédent. Il n'y a que pour l'élément frère suivant:
x ~ y
Utilisation de jQuery
Vérification de la longueur du texte de l'élément avec la fonction text ()
Vérifiez si l'élément contient des balises enfants
Vérifiez les éléments vides s'ils ont un espace blanc
la source
Vous pouvez étendre jQuery fonctionnalité comme ceci:
Étendre :
Utilisation :
la source
Essaye ça:
Ce n'est pas le plus joli, mais ça devrait marcher. Il vérifie si le innerHTML (le contenu de #leftmenu) est une chaîne vide (c'est-à-dire qu'il n'y a rien à l'intérieur).
la source
Dans mon cas, j'avais plusieurs éléments à cacher sur document.ready. C'est la fonction (filtre) qui a fonctionné pour moi jusqu'à présent:
ou .remove () plutôt que .hide (), comme vous préférez.
FYI: Ceci, en particulier, est la solution que j'utilise pour masquer les cellules de tableau vides ennuyeuses dans SharePoint (en plus de cette condition "|| $ (this) .children (" menu "). Length".
la source
la source
J'ai rencontré cela aujourd'hui et les réponses acceptées n'ont pas fonctionné pour moi. Voici comment je l'ai fait.
Ma solution vérifie s'il y a des éléments à l'intérieur du div donc il marquerait toujours le div vide s'il n'y a que du texte à l'intérieur.
la source
vous pouvez également utiliser ceci:
Je pense que cela fonctionnera pour vous!
la source
la source