在Javascript中使用长字符串文字的最佳方式是什么?
可能重复:
Multiline strings in Javascript在Javascript中使用长字符串文字的最佳方式是什么?
在Ruby中,你可以做这样的事情
TEMP = < < -SQLCODE SELECT * FROM用户 SQLCODE
这样你在你的代码中有非常长的字符串文字,而不必逃避很多o f字符。 JavaScript中有类似的东西吗?
目前我有这样的javascript代码,它的驾驶我坚果...
new Element.update(lightbox_id, " \
<div id='overlay' class='overlay' > \
</div> \
<div id='lightbox' class='lightbox'> \
<div class='lightbox_title'> \
<div class='corner_image' onclick=\"close_lightbox();return false;\"><a href='#' >" + corner_image + "</a></div> \
<div class='lightboxname' id='lightboxname'>" + title + "</div> \
<div class='close_image'> \
<a href='#' onclick=\"close_lightbox();return false;\">Close</a> or Escape key\
</div> \
</div> \
<div id='" + lightbox_content_id + "' class='lightbox_content'> \
</div> \
<script> \
watch_for_escape(); \
</script> \
</div> \
");
你指的是通常被称为here-document (or HEREDOC)的语法也没有,这是不可用在Javascript。
像你一直在做的那样添加一个反斜杠是在JavaScript中用多行代码跨越字符串的恰当方法。
有HTML内嵌这样是不好的做法,但如果你真的想清洁处理它,试试这个:
放置一个隐藏的div你想要的HTML页面上,并替换的东西的自订参数像{title}。当调用更新,如果您使用的Rails通过yourdiv.innerHTML.replace(...
这种方法的问题是,它使得它很难封装功能在一个单一的JavaScript文件 - 例如,编写需要将特定内容插入到DOM中的插件。 – alexw 2015-11-05 01:54:17
的话,那就用RJS有很多清洁更新一些多HTML一个div:
page.replace__html 'lightbox_id', :partial => 'overlay'
然后overlay.html.erb
将包含原始的HTML以上无泄漏。
的额外好处是,也可以在初始页面加载使用为好,片段“覆盖”,这在很多情况下是你想要的。
简短的回答:不,你不能在JS中有文字换行符没有延续性的话。 其他一些建议在这里:http://stackoverflow.com/questions/805107/multiline-strings-in-javascript – Shog9 2009-05-22 05:17:50