jQueryを使用してハイパーリンクのhref属性を変更する方法 質問する

jQueryを使用してハイパーリンクのhref属性を変更する方法 質問する

hrefjQuery を使用してハイパーリンクの属性 (リンク ターゲット) を変更するにはどうすればよいですか?

ベストアンサー1

使用

$("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 のこの部分を新しい部分に置き換える関数が定義されます。これにより柔軟性が高まり、リンクに対するあらゆる種類の変更をここで行うことができます。

おすすめ記事