您的代码中有 而不是
$('p').each(function(){
$(this).html($(this).html().replace(/ /gi,''));
});
这个将替换每个空白字符:
$('p').text(function (i, old) {
return old.replace(/\s/g, '')
});
或者如果您只想替换不间断空格:
$('p').text(function (i, old) {
return old.replace(/\u00A0/g, '')
});
我使用 closure 作为
.text()
的参数来设置新值。
请注意,HTML 实体最后需要结束语
;
。
这是一个非 jQuery 的答案,因为使用 jQuery 来完成这样的任务是多余的,除非您已经在网站上使用它来完成其他任务:
var p = document.getElementsByTagName('p');
Array.prototype.forEach.call(p, function(el) {
el.innerHTML = el.innerHTML.replace(/ /gi, '');
});
<p>No Space</p>
<p> 1 Space</p>
<p> 2 Spaces</p>
<p> 3 Spaces</p>
<p> 4 Spaces</p>
尝试
$('p').each(function() {
$(this).html($(this).html().replace(/ /g, ''));
});
或者如果您想删除该尝试
$('p').each(function() {
$(this).html($(this).html().replace(' ', ''));
});
另请注意,空格是
而不是 (您丢失了;)
基于 bažmegakapa' 答案,这可以用于包含其他元素的元素。
$('p').html(function (i, old) {
return old.replace(/ /g, '')
});
.text()
删除 html 元素; .html()
没有
这是代码:
$('p').each( function() {
var elem = $( this );
elem.html( elem.html().replace( / /g,'' ) );
} );
这是 jsfiddle:http://jsfiddle.net/hbvjQ/62/