Как обновить (добавить в) 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;
//
Рабочий пример Нажмите