取代 和其他一些文字

时间:2019-06-10 13:06:00

标签: javascript jquery html

我陷入了需要将 替换为其他文本的问题。

我尝试了以下代码。

var text = $("#nbspData").text().replace(' ','a');
$("#removedData").html(text);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="nbspData">this&nbsp;is&nbsp;me.</p>
<p id="removedData"></p>

但是当我检查代码时,&nbsp;并没有被删除。

2 个答案:

答案 0 :(得分:3)

之所以会这样,是因为text()不会返回这些编码的字符,而只会返回您所看到的文本,例如:“这就是我”。因此,没有什么可替代的。将text()更改为html()

var text = $("#nbspData").html().replace('&nbsp;','a');

var text = $("#nbspData").html().replace('&nbsp;','a');
$("#removedData").html(text);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="nbspData">this&nbsp;is&nbsp;me.</p>
<p id="removedData"></p>

其他信息:如果要替换所有出现的&nbsp;,请使用正则表达式替换:

var text = $("#nbspData").html().replace(/\&nbsp;/g,'a');
console.log(text);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="nbspData">this&nbsp;is&nbsp;me.</p>

答案 1 :(得分:0)

这是HTML标记和&nbsp等的解决方案,您可以删除和添加条件 根据您的需求

convertHtmlToText(passHtmlBlock)
{
   str = str.toString();
  return str.replace(/<[^>]*(>|$)|&nbsp;|&zwnj;|&raquo;|&laquo;|&gt;/g, 'replaceWithAnyText');
}