如何在jquery中更新(附加)一个href?

JD *_*cks 77 jquery

我有一个链接列表,所有链接都转到google maps api.

链接已经将daddr(destination)参数作为静态参数.我使用Geo-Location查找用户位置,我想在saddr获取数据后将(源地址)添加到链接.

所以基本上我需要&saddr=50.1234567,-50.03452在指向谷歌地图的所有链接的尾端添加一些东西

所有链接都有一个名为的类 directions-link

这个页面我已经找到了如何改变它们:

$("a.directions-link").attr("href", "http://www.google.com/");
Run Code Online (Sandbox Code Playgroud)

但是我只想将我的值附加到href的末尾而不改变href已经是什么.

我怎样才能做到这一点?

Gab*_*abe 141

var _href = $("a.directions-link").attr("href");
$("a.directions-link").attr("href", _href + '&saddr=50.1234567,-50.03452');
Run Code Online (Sandbox Code Playgroud)

循环 each()

$("a.directions-link").each(function() {
   var $this = $(this);       
   var _href = $this.attr("href"); 
   $this.attr("href", _href + '&saddr=50.1234567,-50.03452');
});
Run Code Online (Sandbox Code Playgroud)


zai*_*ius 38

jQuery 1.4具有执行此操作的新功能,并且它具有规则.我已经忘记了它的名称,但你使用它是这样的:

$("a.directions-link").attr("href", function(i, href) {
  return href + '?q=testing';
});
Run Code Online (Sandbox Code Playgroud)

这也循环遍历所有元素,因此不需要$ .each

  • 这对我来说不起作用但是`.attr('href',function(i){return $(this).attr('href')+'?q = testing';})`did. (4认同)
  • @elfbertf对我有用。您是否正在使用jquery> = 1.4?您是否将href变量作为第二个参数? (2认同)