Ich möchte jQuery verwenden, um einen Mailto: -Anker um eine E-Mail-Adresse zu wickeln, aber es greift auch den vom CMS generierten Leerraum auf.
Hier ist der HTML-Code, mit dem ich arbeiten muss, das Skript, wie ich es habe, und eine Kopie der Ausgabe.
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>');
});
});
Generiertes HTML
<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>
Obwohl ich vermute, dass andere, die diese Frage lesen, möglicherweise nur das führende und hintere Leerzeichen entfernen möchten, bin ich ziemlich glücklich, das gesamte Leerzeichen zu verlieren, wenn man bedenkt, dass es sich um eine E-Mail-Adresse handelt, die ich verpacke.
Antworten:
Verwenden Sie die
replace
Funktion in js:Dadurch werden alle Leerzeichen entfernt
Wenn Sie nur das führende und das nachfolgende Leerzeichen entfernen möchten , verwenden Sie die Methode jQuery $ .trim:
quelle
Javascript hat Trim eingebaut:
In IE8 funktioniert es nicht. Wenn Sie ältere Browser unterstützen müssen, verwenden Sie die Antwort von Tuxmentat oder Paul .
quelle
Tatsächlich verfügt jQuery über eine integrierte Trimmfunktion:
Siehe hier für Details.
quelle
str=str.replace(/^\s+|\s+$/g,'');
quelle