Je souhaite utiliser jQuery pour envelopper un mailto: ancre autour d'une adresse e-mail, mais il saisit également l'espace blanc généré par le CMS.
Voici le HTML avec lequel je dois travailler, le script tel que je l'ai et une copie de la sortie.
HTML
<div class="field field-type-text field-field-email">
<div class="field-item">
[email protected] </div>
</div>
jQuery JavaScript
$(document).ready(function(){
$('div.field-field-email .field-item').each(function(){
var emailAdd = $(this).text();
$(this).wrapInner('<a href="mailto:' + emailAdd + '"></a>');
});
});
HTML généré
<div class="field field-type-text field-field-email">
<div class="field-items"><a href="mailto:%0A%20%20%20%[email protected]%20%20%20%20">
[email protected] </a></div>
</div>
Bien que je soupçonne que les autres lisant cette question voudront peut-être simplement supprimer les espaces de début et de fin, je suis assez heureux de perdre tous les espaces, étant donné que c'est une adresse e-mail que j'emballe.
Réponses:
Utilisez la
replace
fonction dans js:Cela supprimera tous les espaces
Si vous souhaitez supprimer uniquement les espaces de début et de fin , utilisez la méthode jQuery $ .trim:
la source
Javascript a intégré l'assiette:
Cela ne fonctionne pas dans IE8. Si vous devez prendre en charge des navigateurs plus anciens, utilisez la réponse de Tuxmentat ou de Paul .
la source
En fait, jQuery a une fonction de trim intégrée:
Voir ici pour plus de détails.
la source
str=str.replace(/^\s+|\s+$/g,'');
la source