似乎JavaScript中的转义序列不起作用?我正在用HTML 5编写,我是一个相当新手。单引号,双引号和反斜杠DO工作。但是newline \ n,backspace \ b,回车符\ r \ n和tab \ t不起作用。任何人都可以告诉我为什么不是吗?或解决方法?
<script type="text/javascript">
document.write("Hey bob!, \'You is da bomb!");
</script>
感谢。
答案 0 :(得分:4)
但换行符\ n,退格\ n \ n,回车符\ r \ n和制表符\ t不起作用。
这些字符在HTML中没有以任何特殊方式处理,它们只是空格。如果要在HTML中创建换行符,则必须使用<br />
标记。
来自specification(强调我的):
此规范未指明除此处明确标识为空白字符的空格字符的行为,呈现或其他方式。 出于这个原因,作者应该使用适当的元素和样式来实现涉及空白区域的视觉格式化效果,而不是空格字符。
要明确:这与无与JavaScript有关,只与HTML有效。微小的例子:Fiddle。我的源代码中有一个换行符(与使用document.write('Foo \n bar')
创建的换行符相同),但换行符不会呈现换行符。
如果您使用alert
或console.log
而不是document.write
,您将看到实际生成的字符串,因为该字符串不会显示在HTML上下文中。