我正试图调用jQuery的
text()
函数,并通过trim()
函数使其不再包含所有前后空格。在Firefox中似乎效果很好,然而在IE7中却无法移除最后一个空格。有什么想法吗?也许可以使用正则表达式解决问题吗?text()
函数,并通过trim()
函数使其不再包含所有前后空格。在Firefox中似乎效果很好,然而在IE7中却无法移除最后一个空格。有什么想法吗?也许可以使用正则表达式解决问题吗?您很可能已经忘记了jQuery链式操作...
尝试这样做
$('#selector').trim($('#selector').text())
不要懒惰使用
$('#selector').text().trim();//这是错误的...
修改
或者像@Laserson简化得更好一样,使用$.trim($(selector).text());
,以在span文本和“删除”图像之间添加一点填充。因此,即使我访问元素的文本并修剪$.trim($(this).parent().text());
,它仍然会包括末尾的空格!一旦我删除了这个额外的空格,事情就正常了。不过,我仍然不知道为什么$.trim()
不能解决它?!<div>
<span>
<strong>SomeText</strong>
</span>
<a href="javascript:void(0);" onclick="removeMe();">
<img src="delete.png" width="15" height="15" border="0" name="imgRemove" />
</a>
</div>
$.trim
只寻找实际的空格,而不包括编码的非断行空格
。就.trim
而言,它认为它只是另一个文本,就像Home
或Tom & jerry
一样。希望这可以帮助您。 - Val是的,我有一个想法。你调用text()函数的元素末尾的空格不在其中。这可能发生在IE中,因为它将空格与Firefox不同对待,并将其作为自己的元素处理,而Firefox则不会。这只是一个猜测,因为你的问题没有提供足够的信息。
jQuery在其trim方法中使用/^\s+|\s+/g-
任何尾随空格都必须在它返回之后添加。
这可能取决于您何时阅读它-尝试直接从修剪操作警报值。 如果读取正确,则空格是由您对字符串执行的任何操作添加的。
如果修剪确实带有尾随空格,请使用text.replace (/^\s+|\s+/g,'')。