9

重複の可能性:
Javascript の複数行文字列

Ruby では、次のようなことができます。

temp = <<-SQLCODE
  select * from users
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> \
");
4

3 に答える 3

6

あなたが参照している構文は、多くの場合、ヒアドキュメント (または HEREDOC)として知られていますが、Javascript では使用できません。

これまで行ってきたようにバックスラッシュを追加することは、JavaScript で文字列を複数行にまたがる適切な方法です。

于 2009-05-22T05:15:56.513 に答える
3

このように html をインライン化するのは悪い習慣ですが、本当にきれいに処理したい場合は、次のようにしてください。

目的の html を使用してページに非表示の div を配置し、カスタム パラメーターを {title} のようなものに置き換えます。update を呼び出すときは、yourdiv.innerHTML.replace(...

于 2009-05-22T05:18:06.183 に答える