如何在不使用innerHTML的情况下在JavaScript中添加不间断的空格?

fre*_*ent 15 javascript whitespace innerhtml createtextnode createelement

我正在动态生成内容,在某些情况下,我需要将a设置&nbsp;<span>元素的唯一内容.

但是,以下添加&nbsp;为文本vs添加空格:

var foo = document.createElement("span")
foo = document.createTextNode("&nbsp;");
Run Code Online (Sandbox Code Playgroud)

这是有道理的,所以我想知道,如果&nbsp;没有(!)使用,我将如何正确添加innerHTML

感谢帮助!

vcs*_*nes 50

您可以将unicode文字用于非中断空格:

var foo = document.createTextNode("\u00A0");
Run Code Online (Sandbox Code Playgroud)

  • text = text.replace(/ \ s / g,'\ u00A0'); -用其unicode文字替换所有空格 (2认同)

Cod*_*tic 10

如果您不想使用innerHTML,可以使用十六进制转义.

最普遍的:

  • \x20 - 标准空间或 \s
  • \xC2\xA0 - 不间断的空间或 &nbsp;
  • \x0D - 回车或 \r
  • \x0A - 换行或 \n
  • \x09 - 标签或 \t

在你的情况下: \xC2\xA0


小智 5

将不间断空格附加到您的父节点,让我们在下面将其称为“父节点”,即:

parent.append("\u00A0");

来源:https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/append