2012-02-02 5 views
0

私は後でデータを移入することができますので、私は新しいDOM要素を作成しています:変更のhrefリンク

var bubbleDOM = document.createElement('div'); 
bubbleDOM.setAttribute('class', 'selection_bubble'); 
document.body.appendChild(bubbleDOM); 

私は "のような アドレスを回すために、この新しく作成された要素内のリンクを反復処理したいです何か "を" http://www.something.something "に入力します。 私はjQueryのを望んでいないので、私は成功せず、これを試してみました:HTML内の属性が、その後

<a href="something.something"> 

links[i].href.valueの値のように見えるので、もし

var links = bubbleDOM.getElementsByTagName("a"); 
for (var i = 0; i < links.length; i++) { 
    links[i].href = "http://www." + links[i].href.value; 
} 
+1

あなたのデバッガがlinks'は '言うんか?それは何かを見つけるのですか? –

+0

私はデバッガのメイトを使用していません – Tom

+0

リンクタグはいつbubbleDomに追加されますか? –

答えて

0

links[i].href.valueは常に、絶対URLになります

"http://current.domain/something.something" 

代わりにgetAttribute('href')を試してみてください。

0

gettersとsetterを使用して、属性:getAttributesetAttribueにアクセス/変更します。物事のhttp://jsfiddle.net/rF9qk/

+0

よろしくお願いいたします。それはループの中に入っていない。それの中に警報を入れようとした。私はそこに15のリンクがあることを知っているので、問題になる可能性がありますか? – Tom

+0

あなたのコードでフィーリングを投稿したり、あなたのページにリンクしたりできますか? –

0

カップルが目立つ:

はここでデモです。

  1. links[i].href.valueは無効です。ちょうどlinks[i].hrefを使用してください。
  2. hrefに実際に何かがあることを確認する必要があります。ここで

私の作品例です。

var links = bubbleDOM.getElementsByTagName("a"); 
for (var i = 0; i < links.length; i++) { 
    if (!!links[i].href && links[i].href.length > 0) { // Check that there is an href 
     links[i].href = "http://www." + links[i].href; 
    } 
}