アプリ版:「スタンプのみでお礼する」機能のリリースについて

なぜ、ジャバスクリプトが表示されない?

下のように記述しました。問題なく表示されます。

document.write ("<br><b>旅について</b></br>");
document.write ("<br>(旅のリンク集です。…)</br>");


しかし、1行加えて、次のようにすると表示されません。「このスクリプトでエラーが発生しました。」となってしまいます。何が原因なんでしょうか?

document.write ("<br><b>旅について</b></br>");
document.write ("<br>(旅のリンク集です。…)</br>");
document.write ("<br><a href="http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>");

また1行目を<b>~</b>でboldにしました。すると2行目もboldになってしまいます。なぜでしょうか?

よろしくおねがいします。

A 回答 (3件)

>document.write ("<br><a href="

http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>");

上記の部分が問題です。
ダブルクォーテーション(")の間にはさまれているところがdocument.writeの出力内容ですよね。

ここで、記述内容について考えてください。
「document.write("<br><a href="」
コレで一つの文字列扱いですね。
そして、
http://www.arukikata.co.jp/link/airline_yellow.h …
という変数と思しきものがあって、
「">エアライン</a>地球の歩き方</br>"」
という文字列があります。

でも、考え方を変えると、
「"http://www.arukikata.co.jp/link/airline_yellow.h …
が文字列にも見えます。
つまり、「何処から何処までがダブルクォーテーションの範囲か特定できない」ということが問題なのです。
・・・コレではエラーになりますよね。

ですから、ダブルクォーテーションとシングルクォーテーションを効率よく使い分けることが必要になります。
こんな感じに。。。

document.write ("<br><a href='http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>");

参考URL:http://tohoho.wakusei.ne.jp/js/index.htm
    • good
    • 0
この回答へのお礼

ありがとうございました。

「\」を前置するか、
「"」と「'」を使い分けるのですね。

よくわかりました。
感謝しています。

お礼日時:2002/10/21 16:35

クォーテーションで囲まれた文字列の中に、


またクォーテーションで囲まれた文字列を入れるようなことを
「入れ子」と言います。

document.write ("<br><a href=\"http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>");
document.write ('<br><a href="http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>');
のいずれでも同じ結果が得られるし、
このURLであれば、
document.write ("<br><a href=http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>");
でもいいでしょう。

ところで後半のボールドの件ですが、
引用された範囲では問題ないようですので、
この行以前に<B>がないか、
<Hx>などを閉じ忘れてないか調べてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

「\」を前置するか、
「"」と「'」を使い分けるのですね。

よくわかりました。
感謝しています。

お礼日時:2002/10/21 16:35

document.write ("");


の中に「"」を入力する事は出来ません。
どうしても表示させたい場合は、「\"」とします。
なので、
document.write ("<br><a href="http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>");

document.write ("<br><a href=\"http://www.arukikata.co.jp/link/airline_yellow.h …エアライン</a>地球の歩き方</br>");
に修正してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

「\」を前置するか、
「"」と「'」を使い分けるのですね。

よくわかりました。
感謝しています。

お礼日時:2002/10/21 16:35

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