2009-10-11 12 views
41

私は相対リンクであるすべてのリンクを検索するためのGreaseMonkeyスクリプトを作成しようとしています。私には、hrefの内容と/^https?:///を照合する方法があるようでした。JavaScriptで「生の」hrefコンテンツを取得する方法

しかし、アンカーのhref属性にアクセスすると、常に「http」を含むフォームに正規化または調理されています。 HTMLが含まれている場合、それは、次のとおりです。

<a id="rel" href="/relative/link">inner</a> 

document.getElementById("rel").href 

戻り、私はhref属性に生のデータにアクセスするにはどうすればよい

http://example.com/relative/link 

にアクセスしますか?

また、相対リンクを見つけるより良い方法がありますか?

+8

element.getAttribute( "href")を試したことがありますか? –

+0

@Ionut、なぜそれを答えとして追加していないのですか? – James

+0

J-Pの質問は最初は少し不明でした。コメントを投稿した時点で、彼が 'getAttribute'メソッドか' href'プロパティだけを使ってみたのかどうかは不明でした。 –

答えて

42

代わりにgetAttribute methodをお試しください。

+1

残念ながら、IE7はこのアプローチでも完全修飾URLを返すようです。 –

24

標準。私は質問を投稿した直後に自分自身を見つけ出しました。

の代わり:

anchor.href 

使用:それはそれに答えるために皆を取ったよりも、もちろん

anchor.getAttribute("href") 

、それはこの答えを入力するために長くかかりました。 (まあ、人々は速いです)

関連する問題