2011-08-23 9 views

risposta

21

Basta modificare il href con il nuovo href e si è fatto.

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

Basta impostare window.location sul clic e restituire false per impedire il comportamento predefinito.

A tale:

<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

Cliccando, si potrebbe fermare l'URL corrente e passare a un'altra:

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 mi ha battuto ad esso :) Penso che la variabile "StringToSend" è ridondante se –

+0

@pluto H: Sei corretta . Se si tratta di una stringa statica, può essere inserita anche in linea. – pimvdb

+0

Molte persone suggeriscono che window.location.href. Eviterò questo. un href è fatto per questo uso, perché usare la posizione href? ShankarSangoli è il modo migliore per ... – markzzz

2

Si dovrebbe anche evitare che il comportamento di default in questo modo:

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

? È quello che vorrei evitare Non userò windows.location.href ... :) – markzzz

+0

event.preventDefault(); stringToSend = "? Param = 1"; var newUri = $ (this) .attr ('href') + stringToSend; $ (questo) .attr ('href', newUri); – DenisPostu

+0

Ci scusiamo per la formattazione del codice, lo sposterò solo al commento originale – DenisPostu

Problemi correlati