Chcę użyć jQuery do zawinięcia mailto: zakotwiczenia wokół adresu e-mail, ale również chwyta białą przestrzeń generowaną przez CMS.
Oto HTML, z którym muszę pracować, skrypt, jaki mam, i kopia wyniku.
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>');
});
});
Wygenerowany 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>
Chociaż podejrzewam, że inni czytający to pytanie mogą chcieć po prostu usunąć początkowe i końcowe białe znaki, cieszę się, że straciłem wszystkie białe znaki, ponieważ to adres e-mail, który zawijam.
Odpowiedzi:
Użyj
replace
funkcji w js:Spowoduje to usunięcie wszystkich spacji
Jeśli chcesz usunąć tylko początkowe i końcowe białe znaki , użyj metody jQuery $ .trim:
źródło
JavaScript ma wbudowane wykończenie:
Nie działa w IE8. Jeśli musisz obsługiwać starsze przeglądarki, skorzystaj z odpowiedzi Tuxmentata lub Paula .
źródło
W rzeczywistości jQuery ma wbudowaną funkcję przycinania:
Zobacz tutaj, aby uzyskać szczegółowe informacje.
źródło
str=str.replace(/^\s+|\s+$/g,'');
źródło