删除每个元素上的空白区域 - 修剪

时间:2015-08-11 12:22:51

标签: jquery

我想删除每个项.amount

的空白区域

我在trim课程中使用each.amount,但它似乎不起作用:

jQuery('.amount').each(function(){
    jQuery(this).text().trim();
})

我仍然得到了空白区域:

<span class="amount">€  159</span>

知道我做错了吗?

4 个答案:

答案 0 :(得分:3)

您不是要修剪,而是要替换内容中的空格。 trim()将仅删除前导空格和尾随空格,而不删除内容中的空格

&#13;
&#13;
jQuery('button').click(function() {
  jQuery('.amount').text(function(i, text) {
    return text.replace(/\s+/, '');
  })
})
&#13;
.amount {
  white-space: pre-wrap;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span class="amount">€  159</span>
<button>Remove</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

问题是你的代码不会删除文本之间的空格:

$(function() {
  $('.amount').text(function() {
    return this.innerHTML.replace(/\s+/g, '');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span class="amount">€  159</span>
<span class="amount">€      2.06</span>

答案 2 :(得分:0)

试试这个..

\s是#34; whitespace&#34;的正则表达式,而g是&#34; global&#34; flag,意为匹配所有\s(空格)。

由于+,每个连续的空格字符串都被替换为空字符串。

<span class="amount">€  159</span>

    var str = '€  159';

    $(".amount").html( str.replace(/\s+/g, '') );

http://jsfiddle.net/52LLzb6r/

答案 3 :(得分:0)

这会使用课程&#39;

替换您的跨度内的文字
$('.amount').each(function(){
    var $elem = $(this);
    $elem.html($elem.text().replace(/\s+/, ''));
})