如何在使用jQuery抓取文本时去除空白区域?

我想用jQuery来包装一个mailto:围绕一个电子邮件地址,但是它也抓住了CMS生成的空白区域。

这里是我必须使用的HTML,我有它的脚本和输出的副本。

HTML

<div class="field field-type-text field-field-email"> <div class="field-item"> name@example.com </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%20name@example.com%20%20%20%20"> name@example.com </a></div> </div> 

虽然我怀疑其他读这个问题的读者可能想要删除前面和后面的空格,但我很高兴失去所有的空格,因为这是一个我正在打包的电子邮件地址。

使用js中的replace函数:

 var emailAdd = $(this).text().replace(/ /g,''); 

这将删除所有的空间

如果只想删除前导和尾部空白,请使用jQuery $ .trim方法:

 var emailAdd = $.trim($(this).text()); 

JavaScript内置修剪:

 str.trim() 

它在IE8中不起作用。 如果您必须支持旧浏览器,请使用Tuxmentat或Paul的答案。

其实,jQuery有一个内置的修剪function:

  var emailAdd = jQuery.trim($(this).text()); 

详情请看这里 。

str=str.replace(/^\s+|\s+$/g,'');