如何在使用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,'');