在Javascript中使用长字符串的最佳方式是什么?
可能重复:
Javascript中的多行字符串
在Ruby中,你可以做这样的事情
temp = << - SQLCODE select * from用户SQLCODE
这样你的代码中有很长的字符串文字,而不必逃避大量的字符。 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(或HEREDOC),并且不是,它在Javascript中不可用。
正如您一直在做的那样添加反斜杠是在JavaScript中将多个字符串跨越多行的适当方式。
有这样的HTML内联是不好的做法,但如果你真的想处理它更干净,试试这个:
用你想要的html在你的页面上放置一个隐藏的div,并用{title}之类的东西替换自定义参数。 当调用更新时,传递yourdiv.innerHTML.replace(...
如果您使用的是Rails,那么使用rjs来更新一个div,并使用多行HTML:
page.replace__html 'lightbox_id', :partial => 'overlay'
那么overlay.html.erb
将包含上面的原始html而不会转义。
额外的好处是片段'overlay'也可以用在初始页面加载中,在很多情况下都是你想要的。
链接地址: http://www.djcxy.com/p/30433.html上一篇: What is the best way to have long string literals in Javascript?