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

时间:2010-05-10 19:20:24

标签: jquery

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

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

所以基本上我需要在指向谷歌地图的所有链接的尾端添加&saddr=50.1234567,-50.03452之类的内容

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

的类

来自this page我已经想出了如何改变它们:

$("a.directions-link").attr("href", "http://www.google.com/");

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

我该怎么做?

4 个答案:

答案 0 :(得分:134)

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

each()

循环
$("a.directions-link").each(function() {
   var $this = $(this);       
   var _href = $this.attr("href"); 
   $this.attr("href", _href + '&saddr=50.1234567,-50.03452');
});

答案 1 :(得分:35)

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

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

它也会遍历所有元素,因此不需要$ .each

答案 2 :(得分:3)

$("a.directions-link").attr("href", $("a.directions-link").attr("href")+"...your additions...");

答案 3 :(得分:0)

以下是我尝试在url中添加包含url中特定字符的参数的内容。

jQuery('a[href*="google.com"]').attr('href', function(i,href) {
        //jquery date addition
        var requiredDate = new Date();
        var numberOfDaysToAdd = 60;
        requiredDate.setDate(requiredDate.getDate() + numberOfDaysToAdd); 
        //var convertedDate  = requiredDate.format('d-M-Y');
        //var newDate = datepicker.formatDate('yy/mm/dd', requiredDate );
        //console.log(requiredDate);

        var month   = requiredDate.getMonth()+1;
        var day     = requiredDate.getDate();

        var output = requiredDate.getFullYear() + '/' + ((''+month).length<2 ? '0' : '') + month + '/' + ((''+day).length<2 ? '0' : '') + day;
        //

工作示例Click