1. ホーム
  2. javascript

[解決済み] jQueryを使用してハイパーリンクのhref属性を変更する方法

2022-03-17 02:59:32

質問

を変更するにはどうすればよいのでしょうか? href 属性(リンク先)は、jQueryを使用していますか?

どのように解決するのですか?

使用方法

$("a").attr("href", "http://www.google.com/")

は、すべてのハイパーリンクの href が Google を指すように変更します。しかし、おそらくもっと洗練されたセレクタが必要でしょう。例えば、リンク元(ハイパーリンク)とリンク先(アンカー)のアンカータグが混在している場合です。

<a name="MyLinks"></a>
<a href="http://www.codeproject.com/">The CodeProject</a>

...それから、おそらく誤って href 属性があります。そこで安全のために、セレクタがマッチするのは <a> タグに、既存の href 属性を使用します。

$("a[href]") //...

もちろん、もっと面白いことを思い浮かべるかもしれない。もしアンカーを特定の既存の href というような使い方をすることがあります。

$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/')

これは href という文字列と完全に一致します。 http://www.google.com/ . より複雑なタスクは、マッチングを行った後に href :

$("a[href^='http://stackoverflow.com']")
   .each(function()
   { 
      this.href = this.href.replace(/^http:\/\/beta\.stackoverflow\.com/, 
         "http://stackoverflow.com");
   });

最初の部分は、hrefが 開始 http://stackoverflow.com . そして、URLのこの部分を新しいものに置き換えるために、簡単な正規表現を使用する関数が定義されています。この関数は柔軟性があることに注意してください - リンクに対するどんな種類の変更もここで行うことができます。