JavaScriptでhrefを取ると
- カテゴリ:
- JavaScript
- コメント数:
- Comments: 0
◆ elem.hrefは絶対パス(フルパス)になる
◆ elem.getAttribute("href")で取ればHTMLに書いたまま取れる
◆ elem.getAttribute("href")で取ればHTMLに書いたまま取れる
document.getElementById()で要素を持ってきてelem.hrefをaタグにすればリンク先を持ってこれます
他の属性みたいにhtmlのhrefに書いたものがそのまま受け取れると思ってたのですが違いました
hrefプロパティにはパス解決された最終的なURLが入ります
じゃあどうすればHTMLに書いた相対パスや#だけのをJavaScriptで取得するのか と言うことですが 普通にgetAttribute()メソッドを使えば取れました
getAttibuteが面倒なので直接プロパティから値取ってくることが多いのですがこういう違いがあることを知っておかないとですね
elem.href
elem.getAttribute("href")
elem.href
elem.getAttribute("href")
elem.href
elem.getAttribute("href");
他の属性みたいにhtmlのhrefに書いたものがそのまま受け取れると思ってたのですが違いました
hrefプロパティにはパス解決された最終的なURLが入ります
じゃあどうすればHTMLに書いた相対パスや#だけのをJavaScriptで取得するのか と言うことですが 普通にgetAttribute()メソッドを使えば取れました
getAttibuteが面倒なので直接プロパティから値取ってくることが多いのですがこういう違いがあることを知っておかないとですね
「/」だけ
TOPへ <a href="/"></a>elem.href
elem.getAttribute("href")
「../」で相対パス
TOPへ <a href="../"></a>elem.href
elem.getAttribute("href")
「#」移動
#abcd <a href="#abcd"></a>elem.href
elem.getAttribute("href");