【问题标题】:Remove ' ' - still trying删除 ' ' - 仍在尝试
【发布时间】:2011-09-21 02:48:56
【问题描述】:

仍在寻找从我的 html 代码中删除 ' ' 的方法,在 stackoverlow.com 上找到了多种方法,但这些方法都不起作用!

HTML

<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>

jQuery

$(document).ready(function() {

    $('p').text().replace(/ /g, '');
    //$('p').html($(this).html().replace(/&nbsp;/gi,''));

});

jsfiddle - 游乐场 http://jsfiddle.net/MrTest/hbvjQ/85/

非常感谢任何帮助。
皮特

【问题讨论】:

  • 也许你的意思是&amp;nbsp; 不是&amp;nbsp
  • @Karlois ,@DanielB - 抱歉,现在更正。
  • @DanielB - 您的 HTML 无效。它应该是&amp;nbsp;(你有$而不是&amp;):)

标签: javascript jquery string whitespace html-entities


【解决方案1】:

这是一个非 jQuery 的答案,因为使用 jQuery 来完成这样的任务是多余的,除非你已经在你的网站上使用它来做其他事情:

var p = document.getElementsByTagName('p');

Array.prototype.forEach.call(p, function(el) {
  el.innerHTML = el.innerHTML.replace(/&nbsp;/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>

【讨论】:

    【解决方案2】:

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

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

    .text() 去掉了 html 元素; .html() 没有

    【讨论】:

      【解决方案3】:

      您的代码中有 &nbsp 而不是 &amp;nbsp;

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

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

      【讨论】:

        【解决方案4】:

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

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

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

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

        jsFiddle Demo

        我正在使用closure as a parameter for .text() 设置新值。


        请注意,HTML 实体最后需要一个结束 ;

        【讨论】:

          【解决方案5】:

          代码如下:

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

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

          【讨论】:

            【解决方案6】:

            试试

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

            或者如果你想删除 &nbsp 试试

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

            还请注意空格是&amp;nbsp; 而不是&nbsp(你不见了;)

            【讨论】:

              猜你喜欢
              • 2023-03-29
              • 1970-01-01
              • 2015-03-12
              • 2017-01-22
              • 2017-12-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多