javascript - 新行插入键不适用于`... \n` + `...`
问题描述
我有一个我正在尝试创建的字符串。在每个单独的行之间,我想插入一个新的行标记以确保最终消息位于由 \n 分隔的三个单独的行中。这就是我到目前为止所拥有的。
confirmationMessage = `This action will assign <strong>${stack.name}</strong> to you. \n\n` +
`<strong>IMPORTANT</strong>: This App is currently owned by ${stack.owner.username} and cannot be reassigned to this owner once this action is executed. \n\n` +
`Are you sure you want to take ownership o fthis Dashboard. \n`;
我有 \n\n 但它仍然在一行中呈现
解决方案
这很可能是因为您将字符串传递给该代码毫无意义的解析器/运行时。
- HTML 解析器知道如何解析 HTML,但不知道 JavaScript。
- JavaScript 运行时知道如何处理 JavaScript,但不知道 HTML。
现在,需要明确的是,无论字符串在哪里结束,它都会有一个换行符,因为您使用作为 JavaScript 处理的语句建立了它。
如果包含换行符的字符串最终被 JavaScript 运行时处理,那么这些字符将被正确处理,但任何 HTML 都将毫无意义,并像任何其他字符串一样对待:
alert("The line\nbreak escape codes\nwork here.\nBut, <strong>HTML</strong> doesn't.");
但是,如果您将包含换行符的字符串发送到 HTML 解析器,则新行将被视为 HTML 中的任何换行符,它会被忽略,但会处理 HTML。
document.write("The line\nbreak escape codes\nwon't work here.\nBut, <br><strong>HTML</strong> does.");
<div>
You
don't
see
each
word
on
its
own
line
here
because
new
lines
in
HTML
are ignored.
</div>
推荐阅读
- python - 如何使用 matplotlib 在全息视图中绘制相同颜色的曲线和误差线?
- excel - VBA Excel:“自动化错误。出现异常。” 使用用户窗体时
- java - 等效于 JavaFx 中的 FocusEvent.getOppositeComponent
- c++ - 如何以 DD:HH:MM:SS 的形式返回时间?
- javascript - Ajax 请求:Json 数据未传递给控制器
- python - 将数组与在for循环python中创建的新数组连接起来
- php - 如何为城市生成随机坐标?
- java - 使用 Intellij 配置 JPA
- ubuntu - 尽管安装了 libssl-dev,但无法使用 SSL 构建 Postgres
- applescript - OSX Automator - 如何为连续页面编写 AppleScript