如何更换&;nbsp;在Javascript中使用空格?
我想用简单的空格替换代码中的如何更换&;nbsp;在Javascript中使用空格?,javascript,jquery,Javascript,Jquery,我想用简单的空格替换代码中的“”。这些东西实际上并不相同 我该怎么做 这个代码不起作用 HTML <p>No Space</p> <p> 1 Space</p> <p> 2 Spaces</p> <p> 3 Spaces</p> <p
“
”。这些东西实际上并不相同
我该怎么做
这个代码不起作用
HTML
<p>No Space</p>
<p> 1 Space</p>
<p> 2 Spaces</p>
<p> 3 Spaces</p>
<p> 4 Spaces</p>
可能发生的情况是,javascript中的文本在编译JS之前被解码。解决此问题的一种方法是将其放入单独的.js文件中,而不是在HTML中内联。另一种方法是尝试将其表示为
/&;nbsp/代码>
(顺便说一句,我必须在这个文本框中输入“&;nbsp;”来显示上面的“”,我必须在这里用两倍的s来说明这一点。但我不必在代码标记中这样做。这很奇怪。)可能发生的情况是javascript中的文字在编译JS之前被解码。解决此问题的一种方法是将其放入单独的.js文件中,而不是在HTML中内联。另一种方法是尝试将其表示为/&;nbsp/代码>
(顺便说一句,我必须在这个文本框中输入“&;nbsp;”来显示上面的“”,我必须在这里用两个s来说明这一点。但我不必在代码标记中这样做。这只是一个奇怪的现象。)您的代码工作正常,请用替换“
”来测试这一点
或其他信函,了解如何更换nbsp
段落标记中的任意数量的空格仅计为一个空格
将
标记替换为
,您将看到您的替换已起作用
HTML:
您的代码工作正常,请通过将“
替换为”s“
或其他字母来测试此问题,以查看nbsp是如何被替换的
段落标记中的任意数量的空格仅计为一个空格
将
标记替换为
,您将看到您的替换已起作用
HTML:
如果查看源代码,在jQuery将非中断空间
替换为“
”之后:
如果您查看源代码,在jQuery将非中断空间
替换为”
之后:
在文本内容上使用正则表达式:
在文本内容上使用正则表达式:
这听起来像是XY问题。您需要这样做的具体原因是什么?这显然不是出于用户界面的原因,因为默认情况下,
被编码为空白。@Rorymcrossan这是我的特例。查看它的显示方式。请注意,这两列中的文本是相同的,但唯一的区别是第一列有“”而不是空格。这在您的Chrome中起作用。。。
将被替换为``并且列表中的每个项目都显示为有一个空格。这听起来像是XY问题。您需要这样做的具体原因是什么?这显然不是出于用户界面的原因,因为默认情况下,
被编码为空白。@Rorymcrossan这是我的特例。查看它的显示方式。请注意,这两列中的文本是相同的,但唯一的区别是第一列有“”而不是空格。这在您的Chrome中起作用。。。
将被替换为``并且列表中的每一项都显示为有一个空格。这是我的特定设置。查看它的显示方式。请注意,这两列中的文本是相同的,但唯一的区别是第一列有“”而不是空格Alexander Shmatko刚刚编辑了在编译JS之前,字符串文字将以什么方式“解码”呢?这并不是一个奇怪的现象。因此,允许在您的帖子中使用HTML,因此您需要避开它。但如果您将其格式化为代码,那么您就可以将其转义。我称之为一个奇怪的现象。@pherris:在xhtml中,如果您不使用显式cdata容器,或者如果js在html属性中内联,这是我特有的。查看它的显示方式。请注意,这两列中的文本是相同的,但唯一的区别是第一列有“”而不是空格Alexander Shmatko刚刚编辑了在编译JS之前,字符串文字将以什么方式“解码”呢?这并不是一个奇怪的现象。因此,允许在您的帖子中使用HTML,因此您需要避开它。但是如果您将其格式化为代码,那么您就可以将其转义。我称之为一种奇怪现象。@pherris:在xhtml中,如果您不使用显式cdata容器,或者如果js在html属性中内联,则会出现这种情况。显示字母时,空格仍然不可见。是的,因为段落标记将多个空格表示为单个空格@Roko C.Buljan的答案比我的好得多,请阅读!此外,请尝试我发布的JFiddle查看差异。显示字母时,空格保持不可见。是的,因为段落标记将多个空格表示为单个空格@Roko C.Buljan的答案比我的好得多,请阅读!另外,试试我发布的JFiddle,看看它们的区别。这绝对是一个有用的答案!非常感谢。我发现了有趣的事情。有两列文字填充,我使用CSS剪掉长文字,在特定行的末尾添加三个点。但这不是问题所在。问题是,在这两列中,我都写了相同的文本,但在第一列中,我用nbsp
s分隔,在第二列中,我只写了空格,而不是nbsp
s。看看他们是不是不一样@AlexanderShmatko因为单词有些
变成了一个单词!这就是所谓的不间断空间:)这绝对是一个有用的答案!非常感谢。我发现了有趣的事情。有两列文字填充,我使用CSS剪掉长文字,在特定行的末尾添加三个点。但这不是问题所在。问题是,在这两列中,我都写了相同的文本,但在第一列中,我用nbs进行了划分
$(document).ready(function() {
$('p').each(function(){
$(this).html($(this).html().replace(/ /gi," "));
});
});
<p>No Space</p>
<span> 4 Spaces</span>
<p> 2 Spaces</p>
<p> 3 Spaces</p>
<p> 4 Spa ces</p>
$(document).ready(function() {
$('p').each(function(){
$(this).html($(this).html().replace(/ /gi,"s"));
});
});
<p>No Space</p>
<p> 1 Space</p>
<p> 2 Spaces</p>
<p> 3 Spaces</p>
<p> 4 Spaces</p>
$(document).ready(function() {
var re = new RegExp(String.fromCharCode(160), "gi");
$('p').each(function(){
$(this).html($(this)[0].textContent.replace(re, " "));
});
});