Как обновить (добавить в) href в jquery?

У меня есть список ссылок, которые все идут на google maps api.

ссылки уже имеют параметр daddr (destination) в них как статический. Я использую Geo-Location, чтобы найти позицию пользователя, и я хочу добавить saddr (адрес источника) к ссылкам после получения данных.

так что в основном мне нужно добавить что-то вроде &saddr=50.1234567,-50.03452 в конец всех ссылок, указывающих на карты google

Все ссылки имеют класс под названием directions-link

и эта страница Я выяснил, как их изменить:

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

Однако я хочу только добавить значение в конец href без изменения того, что href уже есть.

Как я могу это сделать?

Ответ 1

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');
});

Ответ 2

jQuery 1.4 имеет новую функцию для этого, и он управляет. Я забыл, что он назвал, но вы используете его следующим образом:

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

Это также перекрывает все элементы, поэтому нет необходимости в $.each

Ответ 3

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

Ответ 4

Вот что я пытался сделать, чтобы добавить параметр в 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;
        //

Рабочий пример Нажмите