• ベストアンサー

JavaScript document.writeについて

<ul id="font-size-change"> <li><a href="javascript:void(0)" onclick="setActiveStyleSheet('default'); return false;" />標準</a></li> <li><a href="javascript:void(0)" onclick="setActiveStyleSheet('large'); return false;" />大</a></li> </ul> 上記を、JavaScriptの「document.write」を使って表示しようと、下記のコードを書きました。 function fontSizeChange(){ document.write('<ul id="font-size-change">'); document.write('<li><a href="javascript:void(0)" onclick="setActiveStyleSheet'); document.write("('default'); "); document.write('return false;" />標準</a></li>'); document.write('<li><a href="javascript:void(0)" onclick="setActiveStyleSheet'); document.write("('large'); "); document.write('return false;" />大</a></li>'); document.write('</ul>'); } とっても効率が悪い記述だと思うのですが、 もっとシンプルで効率の良い書き方はないでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • volonte
  • ベストアンサー率100% (2/2)
回答No.3

document.write("<ul id='font-size-change'> <li><a href='javascript:void(0)' onclick='setActiveStyleSheet(\"default\"); return false;' />標準</a></li> <li><a href='javascript:void(0)' onclick='setActiveStyleSheet(\"large\"); return false;' />大</a></li> </ul>"); これでいけますよ。 囲むときは "→'→\" で囲めます。 改行したいなら他の回答者さんのように+を使って区切ってくださいね

Java-Java
質問者

お礼

>囲むときは"→'→\"で囲めます。 エスケープ文字は一度試してうまくいかず諦めていたのですが、 なるほど、順番があったのですね。ありがとうございます。 見やすいように改行もしたいので、お二人様から教えていただいた方法を足して利用させていただきます。 ありがとうございました。

その他の回答 (3)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.4

document.write("\ <ul id=\"font-size-change\">\ <li><a href=\"javascript:void(0)\" onclick=\"setActiveStyleSheet('default'); return false;\" />標準</a></li>\ <li><a href=\"javascript:void(0)\" onclick=\"setActiveStyleSheet('large'); return false;\" />大</a></li>\ </ul>\ "); 改行をエスケープしてみたら動いた。

Java-Java
質問者

お礼

改行もエスケープで行けるのですか。これはまったく思いつきませんでした。 かなりシンプルになりますね。 ありがとうございます。

回答No.2

追伸ですが、以下の方法なら可能なことはわかっているのですが・・・・ document.write("" + "出力文章1" + "出力文章2" + "出力文章3");

Java-Java
質問者

お礼

回答ありがとうございます。 なるほど、「+」でつなぐことが出来るのですか。 document.writeを1回書くだけですむのが良いですね。 さっそく使わせていただきます。

回答No.1

便乗ですが、私もこの回答を探しています。 perl でいう以下のようなことがdocument.writeか何かでできるのでしょうか? print <<'EOF'; 出力文章1 出力文章2 EOF

関連するQ&A