Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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
DOM字符串不';在Javascript中,你不会被忽略_Javascript_Html - Fatal编程技术网

DOM字符串不';在Javascript中,你不会被忽略

DOM字符串不';在Javascript中,你不会被忽略,javascript,html,Javascript,Html,比如, var text=document.getElementById(“escape”).innerHTML; 警报(文本); text=“你好,我的名字是\n酷”; 警报(文本) 你好,我的名字是\n cool用文本替换第一个文本。替换(“\\n”,“\n”) 应改用textarea,不要使用\n,只需按enter键创建新行即可 <textarea id="escape"> hello my name is cool </textarea> 你好,我的名字是

比如,

var text=document.getElementById(“escape”).innerHTML;
警报(文本);
text=“你好,我的名字是\n酷”;
警报(文本)

你好,我的名字是\n cool

文本替换第一个
文本。替换(“\\n”,“\n”)


应改用textarea,不要使用\n,只需按enter键创建新行即可

<textarea id="escape">
hello my name is
cool
</textarea>

你好,我的名字是
凉爽的

因为p或div标记将返回原始字符串,\将作为\\

转义,所以JavaScript中包含
'is\n cool'
的字符串可以表示为字符列表:

["i", "s", " ", "↵", " ", "c", "o", "o", "l"]
                ^^^ newline character
["i", "s", " ", "\", "n", " ", "c", "o", "o", "l"]
                ^^^  ^^^
                 |    +- n character
                 +------ backslash character

请注意,即使字符串似乎包含反斜杠和
n
字符,字符串的实际值也不会。这是因为
\n
是作为单个换行符计算的转义序列


读取包含文本
的HTML文本内容是很酷的\n
您将得到一个字符串,该字符串可以表示为字符列表:

["i", "s", " ", "↵", " ", "c", "o", "o", "l"]
                ^^^ newline character
["i", "s", " ", "\", "n", " ", "c", "o", "o", "l"]
                ^^^  ^^^
                 |    +- n character
                 +------ backslash character

请注意此处字符串如何包含反斜杠和
n
字符<代码>\n
在HTML中不是转义序列,因此字符保留其值


如果希望HTML包含与JavaScript字符串相同的值,则需要包含与HTML编码相同的换行符

这可以通过文字换行符完成:

<div>is 
 cool</div>
<div>is &#10; cool</div>
是
凉爽的
或者可以使用HTML编码的换行符:

<div>is 
 cool</div>
<div>is &#10; cool</div>
is
;凉爽的


请注意,即使字符串似乎包含
&
#
1
0
字符,字符串的实际值不小于。这是因为

是一个HTML实体,其计算结果为单个换行符。

您要问的是如何将字符串值解释为JavaScript字符串文字。将字符串解释为JavaScript的方法是(邪恶的)
eval
,如果您足够小心,可以在这里使用:

函数解释JSString(值){
返回值
.split(“”)
.地图(功能(五){
返回值(““+v+”);
})
。加入(“”);
}
var text=document.getElementById(“escape”).innerHTML;
var EXPLATIDTEXT=EXPLATIJSSTRING(文本);
警报(翻译文本)

你好,我的“名字”是\n\tcool

你能解释一下吗?
\n
在JavaScript中有特殊含义,但在HTML中没有。Duong在下面的回答是正确的。这里有一些事情需要考虑:如果您希望HTML中的
\n
以某种方式成为实际的换行符,那么如果您执行
“警报”(“Hello!”),您认为会发生什么;//
?你认为它会以某种方式爆发并作为代码运行吗?显然不是。文本就是文本,源代码就是源代码。特别值得注意的是,HTML源代码中的
在JavaScript中读取时将被视为单个换行符。
p
中的换行符也将被视为换行符。无需使用textarea。