Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不使用innerHTML的情况下在JavaScript中添加不间断的空白?_Javascript_Whitespace_Innerhtml_Createelement_Createtextnode - Fatal编程技术网

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

如何在不使用innerHTML的情况下在JavaScript中添加不间断的空白?,javascript,whitespace,innerhtml,createelement,createtextnode,Javascript,Whitespace,Innerhtml,Createelement,Createtextnode,我正在动态生成内容,在某些情况下,我需要将设置为元素的唯一内容 但是,与添加空白相比,以下内容将添加为文本: var foo = document.createElement("span") foo = document.createTextNode(" "); 这很有道理,所以我想知道,如果不使用innerHTML 谢谢你的帮助 您可以将unicode文本用于: 如果不想使用innerHTML,可以使用十六进制转义 最常见的是: \x20–标准空格或\s \xC2\xA0

我正在动态生成内容,在某些情况下,我需要将
设置为
元素的唯一内容

但是,与添加空白相比,以下内容将
添加为文本:

var foo = document.createElement("span")
foo = document.createTextNode(" ");
这很有道理,所以我想知道,如果不使用
innerHTML


谢谢你的帮助

您可以将unicode文本用于:


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

最常见的是:

  • \x20
    –标准空格或
    \s
  • \xC2\xA0
    –不间断空格或
  • \x0D
    –回车或
    \r
  • \x0A
    –换行符或
    \n
  • \x09
    –选项卡或
    \t

在您的情况下:
\xC2\xA0

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

parent.append(“\u00A0”)


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

为什么不想使用
innerHTML
?请尝试:document.createTextNode(“\u00a0”)@David:因为我正在寻找一种方法,可以通过现有方法运行此操作,而不必添加额外的子句来使用
innerHTML
,以防我需要添加空白。请查看此网站以了解更多信息[link]text=text。替换(/\s/g,“\u00A0”);-将所有空格替换为unicode文字这是完美的。它也适用于JQuery
text()
命令:
link.text(((hide\u00A0info))我看到你是这个平台的新手。除非您有现有答案未涵盖的内容,否则您不应回答问题。我认为使用.innerHTML添加简单内容是一个错误的选择,因为它非常缓慢,并且可能会增加安全风险;因此,我的答案应该在这个上下文中看到。因此,请在答案中指出您的观点:)解释为什么innerHTML是一个错误的选择,添加引用,您可以创建代码片段,您可能会发现它很慢。欢迎来到社区
var foo = document.createTextNode("\u00A0");