我想删除每个项.amount
我在trim
课程中使用each
和.amount
,但它似乎不起作用:
jQuery('.amount').each(function(){
jQuery(this).text().trim();
})
我仍然得到了空白区域:
<span class="amount">€ 159</span>
知道我做错了吗?
答案 0 :(得分:3)
您不是要修剪,而是要替换内容中的空格。 trim()
将仅删除前导空格和尾随空格,而不删除内容中的空格
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;
答案 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, '') );
答案 3 :(得分:0)
这会使用课程&#39;
替换您的跨度内的文字$('.amount').each(function(){
var $elem = $(this);
$elem.html($elem.text().replace(/\s+/, ''));
})