Javascript 在发送请求之前编辑href链接

Javascript 在发送请求之前编辑href链接,javascript,jquery,html,Javascript,Jquery,Html,我有密码: var stringToSend=“”; $('.myLink')。单击(函数(){ stringToSend=“?参数=1”; }); 如您所见,我想将stringToSend添加到href中(因此请求将位于) 如何操作?只需在单击时设置window.location,然后返回false以防止出现默认行为 A例如: <a class="myLink" href='http://www.website.it/'>Link</a> <script

我有密码:


var stringToSend=“”;
$('.myLink')。单击(函数(){
stringToSend=“?参数=1”;
}); 
如您所见,我想将
stringToSend
添加到href中(因此请求将位于)


如何操作?

只需在单击时设置window.location,然后返回false以防止出现默认行为

A例如:

<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>

var stringToSend=“”;
$('.myLink')。单击(函数(){
window.location.href=this.href+“?param=“+stringToSend;
返回false;
}); 

单击时,您可以停止当前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>
}); 
var stringToSend=“”;
$('.myLink')。单击(函数(){
stringToSend=“?参数=1”;
window.location.href=$(this.attr('href')+stringToSend;//导航到新URL
返回false;//从中止对URL的导航
}); 

只需使用新的
href
修改
href
,您就完成了

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

您还应防止以下默认行为:

var stringToSend=“”;
//使用此选项可以实际导航到已更改的Uri
$('.myLink')。单击(函数(事件){
event.preventDefault();
stringToSend=“?参数=1”;
window.location.href=$(this.attr('href')+stringToSend;
}); 
//使用此选项仅更改Href,无需导航到uri
$('.myLink')。单击(函数(事件){
event.preventDefault();
stringToSend=“?参数=1”;
var newUri=$(this.attr('href')+stringToSend;
$(this.attr(“href”,newUri);
});

+1比我快:)我认为“stringToSend”变量是多余的though@RichardH:你说得对。如果它是一个静态字符串,那么也可以将其放入内联。许多人建议使用window.location.href。我会避免这样。a href用于此用途,为什么使用location href?ShankarSangoli是我的最佳选择。@markzzz:我想当你点击链接时改变
href
已经太晚了。我认为正确,这确实是一个更好的解决办法。?这是我想要避免的。我不会使用windows.location.href…:)event.preventDefault();stringToSend=“?参数=1”;var newUri=$(this.attr('href')+stringToSend$(this.attr('href',newUri);对于代码格式设置很抱歉,我将只将其上移到原始注释是的,但是为什么我的目的是导航到已编辑的链接?:)你应该更好地解释你的要求。听起来更像是:“我想导航到原始href+某个参数,而不使用location.href分配。”
$('.myLink').click(function() {
    $(this).attr("href", this.href + "?param=1");
});