質問

HTMLの長いスニペットがあり、javascript変数を同等にしたいので、保守性のために\ nを追加する代わりに実際の改行で保存したい(またはHTMLなので改行文字を省略します)。 Pythonでは、次のようなことをします。

largeString = """Hello
This is long!"""

そしてそれは完全に機能します。ただし、JavaScriptでこれを行う方法は見ていません。

いくつかの追加情報:javascriptは外部.jsファイルにあり、スニペットは実際には非常に巨大です(〜6kb)。

役に立ちましたか?

解決

各行の最後に\を挿入します。または、display:noneでdivに保存してから、.html()を使用して取得します

他のヒント

JavaScriptは、同じ方法で複数行の文字列をサポートしていません。

\を使用してスクリプトの改行をエスケープすることができますが、これは開発者が文字列にとどまらないため読み取り専用です(ほとんどのバリデーターはエラーをスローします)。文字列で改行を保持するには、引き続き\nを使用する必要があります。

読みやすくしたい場合は、それらを組み合わせることができます:

var largeString = '"Hello\n\
This is long!"';

これはFirefox、IE、Safari、Chromeで動作します:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<div class="crazy_idea" largeString='Hello
This is long!'
></div>
<script type="text/javascript">
    alert($(".crazy_idea").attr("largeString"));
</script>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top