Как удалить пробел при захвате текста с помощью jQuery?
Я хочу использовать jQuery для переноса mailto: привязка к адресу электронной почты, но также захват белого пространства, создаваемого CMS.
Здесь HTML, с которым я должен работать, script, так как у меня есть его и копия вывода.
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
<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>
Хотя я подозреваю, что другие, читающие этот вопрос, могут захотеть просто лишить пробелы ведущего и хвоста, я вполне счастлив потерять все пробелы, считая его адресом электронной почты, который я обертываю.
Ответы
Ответ 1
Используйте функцию replace
в js:
var emailAdd = $(this).text().replace(/ /g,'');
Это удалит все пробелы
Если вы хотите удалить ведущие и конечные пробелы только, используйте метод jQuery $.trim:
var emailAdd = $.trim($(this).text());
Ответ 2
Javascript имеет встроенную отделку:
str.trim()
В IE8 он не работает. Если вам нужно поддерживать старые браузеры, используйте Tuxmentat или ответ Павла.
Ответ 3
На самом деле, jQuery имеет встроенную функцию обрезки:
var emailAdd = jQuery.trim($(this).text());
Подробнее см. здесь.
Ответ 4
str=str.replace(/^\s+|\s+$/g,'');