字符串中的javascript转义换行符
我必须在模板中定义一个变量,这样我的模板渲染器将替换其中的值。然后,我必须在一些javascript函数中使用这个变量 变量本身就是一些html,我希望能够对其进行格式化,使其看起来像html,而不是一个无法读取的超长单行字符串字符串中的javascript转义换行符,javascript,html,Javascript,Html,我必须在模板中定义一个变量,这样我的模板渲染器将替换其中的值。然后,我必须在一些javascript函数中使用这个变量 变量本身就是一些html,我希望能够对其进行格式化,使其看起来像html,而不是一个无法读取的超长单行字符串 <script> var myHTML = " <div> content </div>" </script> var myHTML=” 内容 " 我能看到的唯一让它工作的方法就是这样做(真的很难看)
<script>
var myHTML = "
<div>
content
</div>"
</script>
var myHTML=”
内容
"
我能看到的唯一让它工作的方法就是这样做(真的很难看)
var myHTML=“”
+""
+“内容”
+""
有没有一种友好的方法可以做到这一点?在源代码中插入的任何新行字符都是模板文本的一部分。使用普通字符串,您必须使用以下语法才能获得:
var myHTML='\n content\n';
log(myHTML)
一种常用且友好的方法是将模板字符串放入自己的
元素中,type属性设置为text/x-something
,因为javascript可以访问该元素,但浏览器不会显示该元素
这允许您像通常那样编写HTML(以及模板标记),而不需要转义或特殊处理换行符
此方法的工作演示:
//获取模板字符串
var myHTML=document.getElementById(“template1”).innerHTML;
//检查myHTML是否包含模板字符串
log(myHTML)代码>
内容
您只需将反斜杠“\”放在字符串的每一行(最后一行除外)的末尾,然后按enter键进入换行符
就你而言:
<script>
var myHTML = '\
<div>\
content\
</div>\
';
</script>
var myHTML=\
\
内容\
\
';
谢谢我在搜索javascript字符串文本,但没有找到任何东西。为什么不将整个模板放在一个文件“template.html”中,然后您可以使用ajax httrequest将整个内容放在一个变量中?这可以使整个内容更具可读性,更易于更新。
<script>
var myHTML = '\
<div>\
content\
</div>\
';
</script>