Aタグのリンク先URLを動的に変更する

JavaScriptで Aタグのリンク先URLを動的に変更するコードを紹介します。

概要

Aタグのリンク先のURLを変更する場合は、Aタグの要素を取得し、href プロパティに遷移先のURLを設定します。

プログラム例

コード

下記のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
	<meta charset="utf-8" />
  <script type="text/javascript">
    function button_click(value) {
      var target = document.getElementById("searchLink");
      if (value == 0) {
        target.href = "http://google.co.jp";
        target.innerText = "サイトへのリンク (google)";
      }
      else if (value == 1) {
        target.href = "http://yahoo.co.jp";
        target.innerText = "サイトへのリンク (Yahoo)";
      }
      else if (value == 2) {
        target.href = "https://www.bing.com/?cc=jp";
        target.innerText = "サイトへのリンク (Bing)";
      }
      else if (value == 3) {
        target.href = "http://ja.wikipedia.org";
        target.innerText = "サイトへのリンク (Wikipedia)";
      }
    }
  </script>
</head>
<body>
  <a id="searchLink" href="http://www.google.co.jp">サイトへのリンク (Google)</a><br/>
  <hr />
  <input type="button" value="Google" onclick="button_click(0);" />
  <input type="button" value="Yahoo" onclick="button_click(1);"/>
  <input type="button" value="Bing" onclick="button_click(2);" />
  <input type="button" value="Wikipedia" onclick="button_click(3);" />
</body>
</html>

解説

ボタンをクリックすると、button_click()関数を呼び出し、その中でidが"searchLink"のAタグのリンクの遷移先とリンク文字列を変更します。リンクの遷移先はhrefプロパティにURLを設定します。リンク文字列はinnerTextプロパティに設定しています。
button_click()関数の引数の値に応じて、0であればGoogle, 1の場合はYahoo, 2の場合はBing, 3の場合はWikipediaにリンク先を動的に変更します。

実行結果

上記のHTMLファイルをWebブラウザで開きます。下図のウィンドウが表示されます。


表示直後の状態では、リンクをクリックするとGoogleに遷移します。


[Yahoo]ボタンをクリックすると、リンクの文字列がYahooに変化します。


リンクをクリックするとYahooにページ遷移します。リンク先も動的に変化していることがか確認できます。


[Bing]ボタンをクリックすると、リンクの文字列がBingに変化します。


リンク先もBingになります。


[Wikipedia]ボタンの場合も同様です。



[Google]ボタンをクリックすると、リンク文字列とリンク先がGoogleになります。



リンク先を動的に変更することができました。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2015-11-11
iPentec all rights reserverd.