プロが教えるわが家の防犯対策術!

document.getElementByIdでURLを変数に代入したいのですが
うまくリンクになりません。

どこが間違っているのでしょうか?
どうしたらよいのでしょうか?

ソースはこちらです



<!DOCTYPE html>
<html lang="ja">
<head>
<script language="JavaScript" type="text/javascript">
var url = 'http://www.goo.ne.jp/';
var urlgoo = document.getElementById("urlgoo").src = url;
</script>
</head>
<body>
<a id="urlgoo" title="sample">Link</a>
</body>
</html>

A 回答 (1件)

注意したい点が2つあります。



1. <a>タグのリンク先はsrc属性ではなくhref属性で指定します。

2. ブラウザは、スクリプトやタグを「読み込み順に解析しながら」表示・実行していきます。
ブラウザが「var urlgoo = document.getElementById~」を実行する段階ではまだ「<a id="urlgoo" ~」の存在を知らないため、
document.getElementById("urlgoo")はnullが返ってきます。
ですから、スクリプトの位置をソースの最後の方に移動するか、window.onloadイベントを活用する事で
「<a id="urlgoo" ~」の解析が終わった後にスクリプトが実行されるようにする必要があります。
    • good
    • 0
この回答へのお礼

解答ありがとうございます。

考え方が よくわかり 理解が深まりました。


具体的な方法は 下記サイトで確認しました。

How to change href of <a> tag on button click through javascript - Stack Overflow
http://stackoverflow.com/questions/4365246/how-t …

お礼日時:2013/04/13 15:32

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