如何在不使用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文字这是完美的。它也适用于JQuerytext()
命令:link.text(((hide\u00A0info))代码>我看到你是这个平台的新手。除非您有现有答案未涵盖的内容,否则您不应回答问题。我认为使用.innerHTML添加简单内容是一个错误的选择,因为它非常缓慢,并且可能会增加安全风险;因此,我的答案应该在这个上下文中看到。因此,请在答案中指出您的观点:)解释为什么innerHTML是一个错误的选择,添加引用,您可以创建代码片段,您可能会发现它很慢。欢迎来到社区
var foo = document.createTextNode("\u00A0");