在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?

下一篇: What was the <XMP> tag used for?