7
votes

Comment supprimer des éléments avec des espaces blancs?

Je peux facilement supprimer une étiquette qui n'a pas d'espaces vides ... xxx pré>

mais, quand il y a un espace ... p>

if ($('h2').html() == " "){
    $('h2').remove(); 
}


0 commentaires

5 Réponses :


1
votes

Je n'utilise pas jQuery, mais je peux donner une solution javascript droite: xxx

alors faites tout ce que l'équivalent jQuery est, je suppose.


2 commentaires

/ \ s + /, "" - 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 DE L'OP peut inclure des éléments décaissés.



15
votes

Vous pouvez faire correspondre des éléments avec uniquement un texte de blanc avec ... xxx

Pour supprimer ces éléments, appelez Supprimer () sur l'ensemble renvoyé.

jsfiddle .


Alternativement, sans jQuery ... < / p> xxx

si votre éléments est un htmlCollection , nodéliste (ou sinon pas un Array ), utilisez array.filter (éléments, fn) ou activer éléments dans un tableau tableau avec . prototype.slice.call (éléments) .

Si vous n'aviez pas à soutenir également les navigateurs plus âgés, vous pouvez utiliser retour! (element.textcontent de || element.innertext) .trim () .

Pour supprimer ces éléments, boucle sur les éléments et utiliser thisélément.parentnode.removechild (thisélément) .

jsfiddle .


Alternativement, avec Travailler avec des nœuds seulement ... xxx

jsfiddle .


0 commentaires

0
votes

Ceci vérifiera seulement un espace, mais fonctionne pour un exemple de base: xxx


0 commentaires


2
votes

Essayez ceci xxx


2 commentaires

Pourquoi utiliseriez-vous un filtre () au lieu de chacun () ?


Mon erreur, mais si vous utilisez JQuery, vous pouvez également utiliser ses utilitaires Safe-Browser. Bien que string.prototype.trim () est assez bien pris en charge de nos jours.