删除“ ”

问题描述 投票:0回答:6
javascript jquery string whitespace html-entities
6个回答
52
投票

您的代码中有   而不是

 

$('p').each(function(){
    $(this).html($(this).html().replace(/ /gi,''));
});

http://jsfiddle.net/genesis/hbvjQ/76/


32
投票

这个将替换每个空白字符:

$('p').text(function (i, old) {
    return old.replace(/\s/g, '')
});

或者如果您只想替换不间断空格:

$('p').text(function (i, old) {
    return old.replace(/\u00A0/g, '')
});

jsFiddle 演示

我使用 closure 作为

.text()
的参数来设置新值。


请注意,HTML 实体最后需要结束语

;


10
投票

这是一个非 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>&nbsp;1 Space</p>
<p>&nbsp;&nbsp;2 Spaces</p>
<p>&nbsp;&nbsp;&nbsp;3 Spaces</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;4 Spaces</p>


6
投票

尝试

$('p').each(function() {
     $(this).html($(this).html().replace(/ /g, ''));
});

或者如果您想删除该尝试

$('p').each(function() {
      $(this).html($(this).html().replace('&nbsp;', ''));
});

另请注意,空格是

&nbsp;
而不是   (您丢失了;)


5
投票

基于 bažmegakapa' 答案,这可以用于包含其他元素的元素。

$('p').html(function (i, old) {
    return old.replace(/&nbsp;/g, '')
});

.text()
删除 html 元素;
.html()
没有


1
投票

这是代码:

$('p').each( function() {
    var elem = $( this );
    elem.html( elem.html().replace( /&nbsp;/g,'' ) );
} );

这是 jsfiddle:http://jsfiddle.net/hbvjQ/62/

© www.soinside.com 2019 - 2024. All rights reserved.