2011-08-23 58 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是最好的方法imo ... – 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 = $(this).attr('href')+ stringToSend; $(this).attr('href',newUri); – DenisPostu

+0

對不起,對於代碼格式,我只是將其移動到原來的評論 – DenisPostu

相關問題