dポイントプレゼントキャンペーン実施中!

Javascriptの知識はまったくないのですが、日本語のページと英語のページを双方行き来出来るようにしようと、色々調べて以下を使うと出来るという所まで辿り着きました。

<span id="link">(※)</span>
<script language="JavaScript"><!--
url=window.location+"";
url=url.replace("http://aaaaaaa.com/","http://aaaaaaa.com/en/");
document.getElementById("link").innerHTML="<a href=\""+url+"\">英語ページへ</a>";
-->
</script>

このままだと希望通りの動きをするのですが、これの「英語ページへ」の部分を画像にすると、画像は表示されず、Javascriptをオフの時に表示させるメッセージ部分が表示されてしまいます。

テキスト部分を以下に置き換えましたがダメでした。
<img src="http://aaaaaaa.com/images/language/jp.png"/>

どうすれば画像を表示し、クリックしてディレクトリを移動する事が出来るのでしょうか?
よろしくお願いいたします。

A 回答 (1件)

>「英語ページへ」の部分を画像にすると、画像は表示されず


もしかして、「英語ページへ」の部分に
>「<img src="http://aaaaaaa.com/images/language/jp.png"/>
をそのまま入れていませんか?
そうだとすれば、文法違反で実行されないなどの影響かも。
その場合は、ダブルクォーテーションの中ではシングルクォーテーションにするとか、あるいはその逆にするとか。


質問文だけでは原因がよくわからないのと、ページの全体像も不明ですが、要素を生成したりせずにリンクはHTMLに最初から書いておいて、リンク先だけ書き直すようにすればもっと確実かと思います。
 <a href="~~" id="link"><img src="~~" alt="~"></a>
のようにしておいて、
 document.getElementById("link").href = url;
とすれば、リンク先だけを書き換えることになりますので、そのほかの部分は影響を受けないはずです。(当然ですが、idは一意になるようにしておいてください)
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。
おっしゃる通り、シングルクォーテーションに変更したら表示されるようになりました。

全体像を説明しますと、日本語のサイトがあり、その全てのページに英語に翻訳したページにリンクしているボタン画像を置きたいと考えていました。手作業でリンクを貼っても良かったのですが、もっとスマートな方法が無いかと探していました。

とりあえず1ページでしかテストしていませんので、上手く行かない場合は代案を使わさせて頂きます。

本当に助かりました。ありがとうございました。

お礼日時:2012/04/12 23:39

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