2012-04-16 21 views
2

こんにちは私はMVC3のリンクにHTMLのリンクを持っています。HTMLリンクのhrefプロパティを動的に変更するには

ユーザーがクリックするたびにhrefプロパティを変更したいと考えています。

<a class="tabs" href="#educationDetails"> 
<input id="SubmitBtn" type="submit" value="Next" /> 
</a> 

この問題を解決する方法はありますか?

多くのおかげ

+2

リンクは、別のページに移動しますか?それとも内部リンクですか?外部ページに行くと、クリック数を記憶するサーバー側のソリューションが必要になるためです。 –

+1

なぜaタグ内に送信ボタンがありますか? – stUrb

+0

こんにちは@DavidThomas、それは別のページに移動しません。同じページのメニューバータブを変更するだけです。 – user1211185

答えて

6
$(".tabs").click(function() { 
    $(this).attr("href","newhref.com"); 
}); 

UPDATE


あなたは

$(this).attr("href") //will return '#educationDetails' 

ので、あなたが

、このようにその値を確認することができ、このように属性値を取得することができます
$(".tabs").click(function() { 
    if ($(this).attr("href") == "#tab1") 
     $(this).attr("href","#tab2"); 
    else if ($(this).attr("href") == "#tab2") 
     $(this).attr("href","#tab1"); 
}); 

UPDATE-2


あなただけの逆、#TAB2に#tab1のではなく変更する場合。あなたもそれは@ocanalソリューションと比較して、この方法がより効率的である

$('a.tabs[href="#tab1"]')​.click(function() { 
    $(this).attr("href","#tab2");​ 
})​;​ 
+0

完璧なソリューション..ありがとう – user1211185

+0

私はどのように私はそれを現在の 'hrefの値を見るためにスイッチの条件を使用することができます私に示すことができますこの"#tab1 "次に" tab2 "に設定します。前もって感謝します。 – user1211185

+0

@ user1211185これがあなたの質問に対する正解であれば、これを回答としてマークする必要があります – Jayanga

1
$("a.tabs").click(function() { 
    this.href = 'newhref'; 
    return false; 
}); 

、この方法のようにそれを行うことができます。

出典:

http://net.tutsplus.com/tutorials/javascript-ajax/14-helpful-jquery-tricks-notes-and-best-practices/

+0

あなたがその主張をするつもりなら、[JS Perf](http://jsperf.com/)を訪問し、サポート/証拠を提供することをお勧めしますか? (あなたは正しいですが、...あなたの情報源を挙げてください。)) –

+0

@DavidThomas。ソース... http://net.tutsplus.com/tutorials/javascript-ajax/14-helpful-jquery-tricks-notes-and-best-practices/ – Joberror

+0

"常に次の3つの属性が必要ですjQuery: "src"、 "href"、 "style"によってアクセスされます。これらの属性には、IEの古いバージョンでgetAttributeを使用する必要があります。 – ocanal

関連する問題