Je peux facilement supprimer une étiquette qui n'a pas d'espaces vides ... mais, quand il y a un espace ... p> if ($('h2').html() == " "){
$('h2').remove();
}
5 Réponses :
Je n'utilise pas jQuery, mais je peux donner une solution javascript droite: alors faites tout ce que l'équivalent jQuery est, je suppose. p> p>
/ \ s + /, "" code> - c'est la clé op. C'est une expression régulière, il remplace WhitSpace. Rien.
Cela aura un problème si si l'élément H2 CODE> DE L'OP peut inclure des éléments décaissés.
Vous pouvez faire correspondre des éléments avec uniquement un texte de blanc avec ... Pour supprimer ces éléments, appelez jsfiddle . p> Alternativement, sans jQuery ... < / p> si votre Si vous n'aviez pas à soutenir également les navigateurs plus âgés, vous pouvez utiliser Pour supprimer ces éléments, boucle sur les éléments et utiliser jsfiddle . p> Alternativement, avec Travailler avec des nœuds seulement ... p> jsfiddle . p> p> Supprimer () code> sur l'ensemble renvoyé. P >
éléments code> est un htmlCollection code>, nodéliste code> (ou sinon pas un Array code>), utilisez array.filter (éléments, fn) code> ou activer éléments code> dans un tableau tableau code> avec . prototype.slice.call (éléments) code>. p> retour! (element.textcontent de || element.innertext) .trim () code>. p> thisélément.parentnode.removechild (thisélément) code) code >. p>
Ceci vérifiera seulement un espace, mais fonctionne pour un exemple de base:
Pour adapter sur Alex, essayez ceci: voir jsfiddle a>. p> p>
Ceci est juste une version plus explicite i> de la mienne. Le mien s'appuie sur le fait qu'une chaîne vide est FALSY i> en JavaScript. Être explicite est utile aussi, c'est probablement plus clair.
J'ai beaucoup apprécié votre réponse. Jamais savait que je pouvais juste revenir! $ .trim ($ (ceci) .text ());
Essayez ceci
Pourquoi utiliseriez-vous un filtre () code> au lieu de chacun () code>?
Mon erreur, mais si vous utilisez JQuery, vous pouvez également utiliser ses utilitaires Safe-Browser. Bien que string.prototype.trim () code> est assez bien pris en charge de nos jours.