为何JavaScript中使用\n无法实现换行输出?
解决document.write中
\n无法换行的问题 嘿,我来帮你搞清楚这个问题~你遇到的核心问题是:HTML页面渲染时不会识别普通的换行符\n,而document.write是直接把内容输出到HTML文档里,所以\n在这里只会被当成普通的空白字符,最终显示为一个空格,不会换行。
为什么prompt里的\n能生效?
先给你吃个定心丸:你代码里window.prompt("Enter mobile no: \n")里的\n是有效的,因为prompt是浏览器的原生弹窗组件,它会解析文本里的换行符,这部分没问题~
两种解决办法
1. 用HTML的换行标签<br>代替\n
HTML里的换行是靠<br>标签实现的,把你代码里所有document.write里的"\n"换成"<br>"就行。比如:
修改前:
document.write("Mobile no. is : " + output + " " + "\n"); document.write("Mobile no. is T-Mobile " + "\n");
修改后:
document.write("Mobile no. is : " + output + " " + "<br>"); document.write("Mobile no. is T-Mobile " + "<br>");
2. 用<pre>标签保留文本格式
如果你想保留代码里的\n和空格格式,可以把输出内容放在<pre>标签里,这个标签会原样渲染文本里的格式。比如在你的代码开头加一行,结尾加一行:
// 在输出前打开pre标签 document.write("<pre>"); // 你的原有输出代码... document.write("Mobile no. is : " + output + " " + "\n"); document.write("Mobile no. is T-Mobile " + "\n"); // 输出结束后关闭pre标签 document.write("</pre>");
这样\n就能正常实现换行了,同时文本里的空格也会被保留哦~
内容的提问来源于stack exchange,提问作者Fensa08
相关产品推荐
相关产品推荐

