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

时间:2013-11-06 10:51:50

标签: javascript whitespace innerhtml createelement createtextnode

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

但是,以下内容将&nbsp;添加为文本而不是添加空格:

var foo = document.createElement("span")
foo = document.createTextNode("&nbsp;");

这是有意义的,所以我想知道,如果没有(!)使用&nbsp;

,我将如何正确添加innerHTML

感谢您的帮助!

3 个答案:

答案 0 :(得分:46)

您可以为non breaking space使用unicode文字:

var foo = document.createTextNode("\u00A0");

答案 1 :(得分:10)

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

最常见的:

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

在您的情况下:\xC2\xA0

答案 2 :(得分:0)

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

parent.append("\u00A0");

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