当前位置:  开发笔记 > 编程语言 > 正文

使用jQuery抓取文本时如何剥离空格?

如何解决《使用jQuery抓取文本时如何剥离空格?》经验,为你挑选了4个好方法。

我想使用jQuery来封装一个mailto:锚定一个电子邮件地址,但它也抓住了CMS正在生成的空白区域.

这是我必须使用的HTML,我拥有的脚本和输出的副本.

HTML

name@example.com

jQuery JavaScript

$(document).ready(function(){
  $('div.field-field-email .field-item').each(function(){
    var emailAdd = $(this).text();
      $(this).wrapInner('');
   });
 });

生成的HTML


虽然我怀疑其他人在阅读这个问题时可能只想剥离领先和拖尾的空白,但我很高兴失去所有的空白,因为它是我正在包装的电子邮件地址.



1> Andreas Grec..:

使用replacejs中的函数:

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

这将删除所有空格

如果你想删除的开头和结尾的空白使用jQuery的$ .trim方法:

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


正确但//s/g将是一个更清晰的模式("i"是多余的,''是一种不寻常的形式 - 也是fwiw的模式/(^\s*)|(\ s*$)/ g是相当于修剪.
需要注意的一件事是,IE不会将不间断的空格( , , ,\ xA0,\ u00A0等)视为空格,所以/ [\s\xA0] +/g可能更可靠替换所有空白区域.

2> Jhankar Mahb..:

Javascript内置修剪:

str.trim()

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



3> Tuxmentat..:

实际上,jQuery有一个内置的trim功能:

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

详情请见此处.


因为每个内置功能都必须有一个jQuery包装器

4> 小智..:

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


看起来像/ ^\s + |\s + $/g的任何东西怎么称为"常规"?
推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有