2013-03-27 68 views

回答

25

首先,你错过了一堆括号:

function addURL() 
{ 
    $(this).attr('href', function() { 
     return this.href + '&cylnders=12'; 
    }); 
} 

其次,在你的代码“这”指的是窗口,不是元素。试试这个:

<a onclick="addURL(this)" href="/search-results/?var1=red&var2=leather">Click this</a> 

function addURL(element) 
{ 
    $(element).attr('href', function() { 
     return this.href + '&cylnders=12'; 
    }); 
} 
+0

啊,很好,谢谢。不幸的是,这并没有完全解决它,虽然syxtax错误肯定。 – 2013-03-27 05:25:28

+0

现场演示:http://jsfiddle.net/fSAzA/ – Christophe 2013-03-27 05:27:51

+0

完全合作。感谢帮助。 – 2013-03-27 05:30:16

1
 function addURL() 
     { 
    var data=window.location+"&cylnders=12"; 
    alert(data); 
    } 

试试这个概念。希望它会给你一些解决方案。

试试这个太

  function addURL() 
      { 
       window.location.href='/search-results/?var1=red&var2=leather&cylnders=12' 
      } 
+0

当我添加这个,我点击链接,它返回当前的网址与附加的变量。我想我要做的是在href中获取URL,将varibale添加到最后,然后转到该URL。 – 2013-03-27 05:23:04

1

你为什么不一个ID或类添加到您的链接的href通过jQuery来识别呢? 好像你的链接被触发,然后你可以添加任何数据到href属性。

<a class="datalink" href="/search-results/?var1=red&var2=leather">Click this</a> 
<script> 

$('.datalink').attr('href', function() { 
return this.href + '&cylnders=12'; 

}); 

</script> 
+0

嗨,由于在你的例子中没有定义锚定标记的javascript函数,'return'语句将不起作用。相反,它应该是“this.href = this.href +'&cylnders = 12” – Hemant 2014-11-15 14:48:15

+0

似乎工作得很好,因为它是。 – chris 2016-05-21 14:09:36