2011-08-23 49 views

答えて

21

はちょうど新しいhrefhrefを変更し、あなたが行われています。

$('.myLink').click(function() { 
    $(this).attr("href", this.href + "?param=1"); 
}); 
0

クリック時にwindow.locationを設定するだけで、デフォルトの動作を防ぐにはfalseを返します。

等:クリックすると

<a class="myLink" href='http://www.website.it/'>Link</a> 

<script type="text/javascript"> 
    var stringToSend = ""; 
    $('.myLink').click(function() { 
     window.location.href = this.href + "?param=" + stringToSend; 
     return false; 
    }); 
</script> 
1

、あなたは現在のURLを停止し、他に移動できます。

var stringToSend = ""; 
$('.myLink').click(function() { 
    stringToSend="?param=1"; 
    window.location.href = $(this).attr('href') + stringToSend; // navigate to new URL 
    return false; // abort navigation to URL from <a> 
}); 
+1

+1は、私が「stringToSend」変数は –

+0

@Richard Hけれども冗長であると思います:)それに私を打ちます。それが静的な文字列であれば、それもインラインに置くことができます。 – pimvdb

+0

多くの人々は、window.location.hrefを提案しています。私はこれを避けるでしょう。この使用のためにhrefが作成され、なぜhrefを使用するのですか? ShankarSangoliはあなたに最も良い方法です... – markzzz

2

また、このようなデフォルト動作を防ぐ必要があります:あなたは正しいです:

var stringToSend = ""; 

// Use this to actually navigate to the changed Uri 
$('.myLink').click(function(event) { 
    event.preventDefault(); 
    stringToSend = "?param=1"; 
    window.location.href = $(this).attr('href') + stringToSend; 
}); 

// Use this just to change the Href, without navigating to uri 
$('.myLink').click(function(event) { 
    event.preventDefault(); 
    stringToSend = "?param=1"; 
    var newUri = $(this).attr('href') + stringToSend; 
    $(this).attr("href", newUri); 
}); 
+0

?私は避けたいものです。私は使用しないwindows.location.href ... :) – markzzz

+0

event.preventDefault(); stringToSend = "?param = 1"; var newUri = $(これ).attr( 'href')+ stringToSend; $(これ).attr( 'href'、newUri); – DenisPostu

+0

コードフォーマットは申し訳ありませんが、元のコメント – DenisPostu

関連する問題

 関連する問題