2011-08-23 32 views

Trả lời

21

Chỉ việc điều chỉnh href với mới href và bạn đã làm xong.

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

Chỉ cần đặt window.location trên nhấp chuột của bạn và trả về false để ngăn chặn hành vi mặc định.

Một ví dụ:

<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

Khi nhấp, bạn có thể ngăn chặn các URL hiện tại, và điều hướng đến khác:

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 đánh bại tôi vào nó :) Tôi nghĩ rằng "stringToSend" biến là không cần thiết mặc dù –

+0

@ Richard H: Bạn đúng . Nếu đó là một chuỗi tĩnh thì nó cũng có thể được đặt nội tuyến. – pimvdb

+0

Nhiều người cho rằng window.location.href. Tôi sẽ tránh điều này. a href được thực hiện cho việc sử dụng này, tại sao lại sử dụng location href? ShankarSangoli là cách tốt nhất ... – markzzz

2

Bạn cũng nên ngăn chặn hành vi mặc định như thế này:

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

? Là những gì tôi muốn tránh. Tôi sẽ không sử dụng windows.location.href ... :) – markzzz

+0

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

+0

Xin lỗi vì định dạng mã, tôi sẽ chỉ chuyển nó đến nhận xét gốc – DenisPostu

Các vấn đề liên quan