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 cool</div>
是
凉爽的
或者可以使用HTML编码的换行符:
<div>is
cool</div>
<div>is 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。