【JavaScript】aタグのhref属性を書き換える【全体/一部】
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
本記事では、JavaScriptでaタグのhref属性の全体または一部を書き換える方法をご紹介しています。
JavaScriptでaタグのhrefを書き換えたいんだけど、どうすればいいのだろう?
上記の疑問にお答えしています。
では、解説していきます。aタグのhref属性を書き換える(全体)
JavaScriptで属性の値の設定には、setAttribute
を使用します。setAttribute
は属性の追加や値を変更することができるelement
のメソッドです。
詳細に下記の記事をご参照ください。
実際にsetAttribute
でhref
属性の値を書き換えてみます。
HTML
href
属性を書き換える対象を用意します。要素が取得しやすいようにid
属性を指定しています。
<a id="link" href="#" target="_blank">Click Me!</a>
JS
JavaScriptで要素を取得し、setAttribute
でhref
属性の値を書き換えます。書き換える値は変数のurl
に持たせています。
let link = document.getElementById('link');
let url = 'https://into-the-program.com';//href属性の値を書き換える
link.setAttribute('href', url);
実行結果
下記は実行結果です。href
属性の値がurl
に指定した値に書き換えられているかと思います。
See the Pen
6108-1 by ryohei (@intotheprogram)
on CodePen.
上記ではページ読み込み時にhref
属性の書き換えを実行していますが、ボタンクリックやマウスオーバーといったイベント発生時に処理するなど応用できます。実装環境に合わせてお使いいただければと思います。
aタグのhref属性を書き換える(一部)
前項ではhref
属性全体の値を書き換えましたが、ここでは値の一部だけを書き換える方法をご紹介したいと思います。
処理の流れは下記のようになります。
- a要素を取得する
- 取得した
a
要素からhref
属性の値を取得する replace
でhref
属性の値の一部を置き換える- 置き換えた値を
href
属性に設定する
では実際に処理を作成していきます。href
属性には予めURLを設定して起き、それの一部を置き換えて再度設定してみます。
HTML
HTMLを用意します。URLの中にあるjqueryの部分を置き換えていきます。
<a id="link" href="https://into-the-program.com/category/jquery/" target="_blank">Click Me!</a>
JS
続いてスクリプトを作成します。各行の処理内容はコメントをご参照ください!
//a要素を取得する
let link = document.getElementById('link');
//a要素のhref属性の値を取得する
let oldHref = link.getAttribute('href');
//replaceでhref属性の一部(jquery)を新しい値(javascript)に置き換える
let newHref = oldHref.replace('jquery', 'javascript');
//置き換えた値をa要素のhref属性に設定する
link.setAttribute('href', newHref);
実行結果
下記は実行結果です。無事href
の値の一部が書き換わっているかと思います。
See the Pen
6108-2 by ryohei (@intotheprogram)
on CodePen.
以上の方法でhref
属性の値の一部を書き換えることができます。
最後に
JavaScriptで属性を操作する処理はたくさん書くことになりますので、getAttribute
とsetAttribute
の存在は知っておくと良いかもしれません!本記事でhref
属性の値の一部置き換えに使用したreplace
は正規表現などで詳細に条件を設定することができるので、詳しく知りたい方は下記のドキュメントを参考にしていただければと思います!
以上、JavaScriptでaタグのhref属性の全体または一部を書き換える方法のご紹介でした!
JavaScriptを基礎からしっかりと学びたい方へ
下記の参考書がおすすめです。私がJavaScript入門時に購入した書籍で、基礎から応用まで多様なサンプルを用いて解説されています。ページ数は多いですが、内容が伴っているのですらすら読めます。腰を据えて学びたい方に最良の一冊となっています。