プロが教える店舗&オフィスのセキュリティ対策術

基本的なことかもしれませんが、JavaScript初心者なので質問させてください。
innerHTML内で改行を入れると実行されないのでしょうか?

たとえば、これ↓はうまく行くのですが、


<script type="text/javascript">
function change1() {
document.getElementById('change1').innerHTML='<p>ハケには毛が多い</p><p>ハゲには毛がない</p><input type="button" value="失礼しました m(_ _)m" />'
}
</script>

<div id="change1">
<p>カラスは黒い</p>
<p>ガラスは透明</p>
<input type="button" value="ここを押すと文章が変わります" onClick="change1();">
</div>


こうすると↓うまく行きません。


<script type="text/javascript">
function change2() {
document.getElementById('change2').innerHTML='
<p>ハケにはやはり毛が多い</p>
<p>ハゲにはやはり毛がない</p>
<input type="button" value="再び失礼しました m(_ _)m" />'
}
</script>

<div id="change2">
<p>カラスは黒い</p>
<p>ガラスは透明、、、じゃないものもある</p>
<input type="button" value="ここを押すと文章が変わります?" onClick="change2();">
</div>

別に困っているわけではないのですが、
ソースは見やすく書きたいのでよろしくお願いします。

A 回答 (1件)

JavaScriptでは、1つのコードの途中に改行を入れるとエラーになってしまいます。


なので、指定した文字列などを分割したい場合は、それぞれを+で繋げて分割すればOKです。


<script type="text/javascript">
function change2() {
document.getElementById('change2').innerHTML=
'<p>ハケにはやはり毛が多い</p>' +
'<p>ハゲにはやはり毛がない</p>' +
'<input type="button" value="再び失礼しました m(_ _)m" />'
}
</script>

ご参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます!

そういえば、そんなソース、見た事あります。
基本中の基本なんでしょうね(^^;

お礼日時:2011/04/22 13:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!