本記事では、jQueryでhref属性の取得・追加・変更・削除する方法について分かりやすく解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
href属性の操作
後輩ちゃん
先輩!jQueryでhref属性の操作方法を教えてください!
先輩くん
了解!href属性の取得・追加・変更・削除する方法を別々に紹介するね!
href属性の取得
href属性を取得するには、attr()メソッドを使います。基本的な使い方は以下のとおりです。
$('セレクタ').attr('href');
構文解説
- セレクタ:取得したいhref属性が設定されているHTML要素を指定
- href:取得したい属性がhref属性であることを指定
href属性を取得するサンプルコードを用意したので、動作確認してみましょう。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<a id="link" href="https://web-engineer-wiki.com/"
>Webエンジニア Wiki TOPページ</a
>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="index.js"></script>
</body>
</html>
console.log($("#link").attr("href")); // => https://web-engineer-wiki.com/
href属性の追加・変更
先輩くん
href属性の追加・変更は記述方法が同じだからまとめて紹介するね!
href属性の追加・変更も、先ほど紹介したattr()メソッドを使用します。異なる点は、追加と変更では第二引数も指定することです。基本的な使い方は以下のとおりです。
$('セレクタ').attr('href', '値');
構文解説
- セレクタ:追加・変更したいhref属性が設定されているHTML要素を指定
- href(第一引数):追加・変更したい属性がhref属性であることを指定
- 値(第二引数):href属性に追加・変更したい値を指定
href属性の追加・変更するサンプルコードを用意したので、動作確認してみましょう。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<a id="link">Webエンジニア Wiki TOPページ</a>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="index.js"></script>
</body>
</html>
// href属性がセットされていない状態
let $linkElem = $("#link");
console.log($linkElem.attr("href")); // => undefined
// href属性の追加
$linkElem.attr("href", "https://www.google.com/");
console.log($linkElem.attr("href")); // => https://www.google.com/
// href属性の変更
$linkElem.attr("href", "https://web-engineer-wiki.com/");
console.log($linkElem.attr("href")); // => https://web-engineer-wiki.com/
href属性の削除
href属性を削除するには、removeAttr()メソッドを使います。基本的な使い方は以下のとおりです。
$('セレクタ').removeAttr('href');
構文解説
- セレクタ:削除したいhref属性が設定されているHTML要素を指定
- href:削除したい属性がhref属性であることを指定
href属性を削除するサンプルコードを用意したので、動作確認してみましょう。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<a id="link" href="https://web-engineer-wiki.com/"
>Webエンジニア Wiki TOPページ</a
>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="index.js"></script>
</body>
</html>
// href属性がセットされている初期状態
let $linkElem = $("#link");
console.log($linkElem.attr("href")); // => https://web-engineer-wiki.com/
// href属性の削除
$linkElem.removeAttr("href");
console.log($linkElem.attr("href")); // => undefined