2012-02-24 14 views
1

は、私のようなリンクを持っているダイナミックリンク作り、純粋なJavaScriptの

var t='this'; 

がどのように私は、リンクをクリックしたが、純粋なJavaScriptを使用してhttp://www.example.com/'+thisに行くことができますか?明らかに

var t = 'this'; 
document.getElementById('mylink').onclick = function() { 
    window.location.href = this.href + t; 
    return false; 
}; 

:その後、

<a href="http://www.example.com/" id="mylink">test</a> 

と:

は、あなたがあなたのアンカーIDを提供することができ

+0

可能重複[クロスブラウザAのタグのHREFを変更](http://stackoverflow.com/questions/4632091/cross-browser-change-an-a-tags-href) –

+0

私は削除しましたjQueryタグは、ライブラリを必要としないソリューションが必要だったようだからです。 jQueryを使用する場合は、ロールバックしてください。ただし、jQueryにもこのような質問があることがわかります。 –

答えて

2

(のでクリックすると、最後に変数tを持つ動的URLになります)このスクリプトを<head>セクションに配置する場合は、クリックハンドラをアタッチする前にDOMの準備が完了するまで待つ必要があります。

window.onload = function() { 
    document.getElementById('mylink').onclick = function() { 
     window.location.href = this.href + t; 
     return false; 
    }; 
}; 

あなたはあなたのDOM内の指定されたタグを持つすべての要素の配列を返し、その後、あなたはをループしていますdocument.getElementsByTagNameメソッドを使用することができ、あなたのアンカーに一意のIDを提供するために、あなたのDOMを変更できない場合あなたのアンカーにonclickハンドラーを添付してください。あなたが持っているかもしれないすべてのリンクの間でそれを識別するためには、あなたのinnerHTMLテキストまたは現在のhrefプロパティを使用する必要があります。

+0

Hei Darin、これは問題ありませんが、リンクをクリックする度に毎回リンクに追加されます.2回クリックするとhttp://www.example.com/thisthis..isisになります? – David19801

+0

@ David19801通常、リンクをクリックすると、別のページにリダイレクトされるため、このリンクを2回クリックすることはできますか? –

+0

クリック、戻って、もう一度クリック...しかし、本当に私は新しいウィンドウでリンクを開くために中マウスで作業したい...任意のアイデア? – David19801

0

Darin solitionに基づいて、これは新しいウィンドウに開き、オリジナルは変更されません。

window.onload = function() { 
    document.getElementById('mylink').onclick = function() { 
     window.open(this.href + t); 
     return false; 
    }; 
}; 
関連する問題