我想使用jQuery来封装一个mailto:锚定一个电子邮件地址,但它也抓住了CMS正在生成的空白区域.
这是我必须使用的HTML,我拥有的脚本和输出的副本.
HTML
<div class="field field-type-text field-field-email">
<div class="field-item">
name@example.com </div>
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery JavaScript
$(document).ready(function(){
$('div.field-field-email .field-item').each(function(){
var emailAdd = $(this).text();
$(this).wrapInner('<a href="mailto:' + emailAdd + '"></a>');
});
});
Run Code Online (Sandbox Code Playgroud)
生成的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>
Run Code Online (Sandbox Code Playgroud)
虽然我怀疑其他人在阅读这个问题时可能只想剥离领先和拖尾的空白,但我很高兴失去所有的空白,因为它是我正在包装的电子邮件地址.
And*_*ech 330
使用replace
js中的函数:
var emailAdd = $(this).text().replace(/ /g,'');
Run Code Online (Sandbox Code Playgroud)
这将删除所有空格
如果你想删除的开头和结尾的空白只使用jQuery的$ .trim方法:
var emailAdd = $.trim($(this).text());
Run Code Online (Sandbox Code Playgroud)
Jha*_*bub 99
Javascript内置修剪:
str.trim()
Run Code Online (Sandbox Code Playgroud)
它在IE8中不起作用.如果您必须支持旧浏览器,请使用Tuxmentat或Paul的答案.
Tux*_*tat 69
实际上,jQuery有一个内置的trim功能:
var emailAdd = jQuery.trim($(this).text());
Run Code Online (Sandbox Code Playgroud)
详情请见此处.
归档时间: |
|
查看次数: |
200862 次 |
最近记录: |