Mam listę linków, które prowadzą do interfejsu API map Google.
łącza mają już parametr daddr
(miejsce docelowe) jako statyczne. Używam funkcji Geo-Location, aby znaleźć pozycję użytkowników i chcę dodać saddr
(adres źródłowy) do łączy, gdy otrzymam dane.
więc w zasadzie będę musiał dodać coś takiego &saddr=50.1234567,-50.03452
na końcu wszystkich linków prowadzących do map Google
Wszystkie linki mają klasę o nazwie directions-link
iz tej strony dowiedziałem się, jak je zmienić:
$("a.directions-link").attr("href", "http://www.google.com/");
Jednak chcę tylko dodać swoją wartość na końcu href bez zmiany tego, czym już jest href.
Jak mogę to zrobić?
a.directions-link
to tak. W przeciwnym razie, jeśli dodajesz inną wartość do każdego elementu href, będziesz musiał użyć znaku,each()
aby wykonać iterację i dołączyć odpowiednią wartość.jQuery 1.4 ma nową funkcję, która to robi, i to rządzi. Zapomniałem, jak to się nazywa, ale używasz tego w ten sposób:
$("a.directions-link").attr("href", function(i, href) { return href + '?q=testing'; });
To również zapętla wszystkie elementy, więc nie ma potrzeby używania $ .each
źródło
.attr('href', function(i) { return $(this).attr('href') + '?q=testing'; })
.$("a.directions-link").attr("href", $("a.directions-link").attr("href")+"...your additions...");
źródło
Oto, co próbowałem zrobić, aby dodać parametr w adresie URL, który zawiera określony znak w adresie 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; //
Przykład roboczy Kliknij
źródło