• HOME > 
  • JavaScript > 
  • jQueryでaタグのhref(リンク先)を書き換える方法【...

jQueryでaタグのhref(リンク先)を書き換える方法【一部だけ書き換えるには?】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像
広告
広告

attrメソッドでaタグのhref属性を操作する

aタグのhref(リンク先のURL)を書き換えたい場合は、attrメソッドを使用します。

attrメソッドはセレクターの属性値を取得・操作できるメソッドです。

リンク先のサムネイル
jQueryでidを取得する方法【attrメソッドの使い方】

jQueryでHTMLの要素に付与されているidを取得するためには「attr()」メソッドを使用します。attrメソッドは要素の属性を取得や変更、削除を行うことができるメソッドです...【もっと読む】

hrefも属性のひとつですので、attrメソッドで次のように記述すれば書き換えることができます。

attrメソッドでhrefを書き換え

特定のaタグのみを対象にしたい場合は、クラスやIDなどのセレクターを使って指定してください。

ここからは、「リンク先のURLを丸ごと書き換える場合」「リンク先のURLの一部を書き換える場合」の方法をそれぞれ解説していきます。

リンク先のURLを丸ごと書き換える場合

まずはhrefに元々記述されているリンク先のURLを丸ごと別のものに置き換える方法です。

次の例では、元の「http://sample.com」というリンク先を「http://test.jp」に置き換えています。

HTML

<a id="target" href="http://sample.com">別サイトを開きます</a>

jQuery

$(function(){
    $("a#target").attr("href","http://test.jp");
});

プレビュー

<a id="target" href="http://test.jp">別サイトを開きます</a>

リンク先のURLの一部を書き換える場合

リンク先のURLの一部だけを書き換えたい時は、replaceメソッドで文字の置き換えを実行してからattrメソッドで書き換えるという方法になります。

リンク先のサムネイル
jQueryで文字列の置換を行う方法【replaceメソッドの使い方】

文字列の置換には、Javascriptのreplace()メソッド、jQueryのreplaceWith()もしくはreplaceAll()メソッドを使用します。ユーザーがフォームに入力した内容によって表示するテキストを変更するなど...【もっと読む】

次の例では、元の「http://sample.com/page123」というリンク先を「http://sample.com/testPage」に置き換えています。

HTML

<a id="target" href="http://sample.com/page123">別サイトを開きます</a>

jQuery

$(function(){
    //現在hrefに記述されているURLを取得
    var url = $("a#target").attr("href");
    //取得したURLの一部を書き換えたものを用意
    var urlReplace = url.replace("page123","testPage");
    //hrefのURLを置き換える
    $("a#target").attr("href",urlReplace);
});

プレビュー

<a id="target" href="http://sample.com/testPage">別サイトを開きます</a>

まとめ

以上がjQueryでaタグのhref(リンク先)を書き換える方法です。

ユーザーのアクションなどに応じて、遷移するページを動的に切り替えるなど使いどころは様々です。

広告
広告

関連する記事

サムネイル

JSのclassList.toggleでクラスの付け外しを行……

2024年09月04日
classList.toggleとは? まず「classList」とは要素のクラス属性の情報を参照するプロパティで、「classList.add()」や「cla […]
サムネイル

JSで要素が特定のクラスを持つか調べる【classList.……

2024年09月04日
JSで要素が特定のクラスを持つか調べるには? JavaScriptで要素が特定のクラスを持つか調べるには「classList.contains」を使います。 「 […]
サムネイル

JSで文字列の中の任意の位置に別の文字を挿入する【slice……

2024年09月04日
JavaScriptに文字列の中の任意の位置に別の文字を挿入するにはslice()メソッドを利用します。sliceは特定の文字列の任意の位置から任意の文字数分を切り出すメソッドで、これを使って対象の文字列を一旦分解し、挿入したい文字と一緒新しい文字列としてくっつけ直します。
サムネイル

【数値のゼロ埋め】JSのpadStart(padEnd)メソ……

2024年09月04日
JavaScriptのpadStartは対象の文字列が任意の桁数になるまで、その先頭から指定した文字で文字埋めを実行するメソッドです。第一引数に最終的な桁数、第二引数に埋める文字を指定します。
サムネイル

JSのsetIntervalで一定時間ごとに繰り返し処理を実……

2024年08月01日
JSのsetIntervalとは? 業務においてJavaScriptを使って一定時間おきに繰り返し処理を実行させたい場面があり、これまで大まかにしか理解していな […]
サムネイル

JSのsetTimeoutで指定した時間後に処理を実行させる……

2024年08月01日
setTimeout()は、指定した時間が経過したら処理を一度だけ実行するといったタイマーのような設定ができる関数です。一定間隔で処理を繰り返すsetIntervalと異なり、処理が一回しか実行されない点が特徴です。停止させる場合はclearTimeoutを使います。
サムネイル

JSでセレクト値が変更されたらフォームを送信を実行する方法【……

2024年07月02日
ユーザーがセレクトボックスの値を変更したタイミングでフォームの送信を実行するという処理を実装する機会があったので、その方法を備忘録として残しておきます。