JQuery — appending variable to URL, and use it in a href
I can’t figure this one out. Could someone please help me en explain how it works to? Goal: Adding a variable to a hard-coded URL, and put the new string into a href Example:
6 Answers 6
You would need this bit of js code: (working example http://jsfiddle.net/QUEZL)
var x = "http://www.google.com/" var y = "#q=test"; var result = x + y; $('a').attr('href', result);
For me, all the above approaches were replacing the variable with the latest value of the variable as it was referred in a loop.
HREF is an attribute so you can access it via .attr()
var x = "1000"; var y = "http://www.google.com/" var result = y + x; $('a').attr();
Give your Link an ID. click here.
Add a reference to JQuery JavaScript Library.
Get a handle on the link with a JQuery Selector and use the attr function. $(‘#lnkTarget’).attr(‘href’, result);
document.getElementsByTagName('a')[0].href = result ;
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
)" data-controller="se-share-sheet" data-se-share-sheet-title="Share a link to this answer" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter devto" data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f3.0%2f" data-se-share-sheet-license-name="CC BY-SA 3.0" data-s-popover-placement="bottom-start">Share
Don't stick arbitrary strings directly into a URL. You need to encode them properly with encodeURIComponent
– Quentin
Feb 21, 2017 at 11:04
Add a comment|
4
Summary
With either string concatenation or string interpolation (via template literals).
Here with JavaScript template literal:
function geoPreview() < var lat = document.getElementById("lat").value; var long = document.getElementById("long").value; window.location.href = `http://www.gorissen.info/Pierre/maps/googleMapLocation.php?lat=$&lon=$&setLatLon=Set`; >
For more concise code, use JavaScript template literals to replace expressions with their string representations. Template literals are enclosed by `` and placeholders surrounded with $<> :
Nobody has pointed out you should always do encodeURIComponent when you set things like this; otherwise you leave yourself open to script injection attacks:
My Link var url = "http://localhost/" + encodeURIComponent(id); document.getElementById("mylink").href = url;
It depends what you're doing. encodeURIComponent encodes ? and & which he might want to use as part of his string building. We don't know exactly what he's trying to do or the wider context, so directly answering the question rather than guessing seems more sensible.
My Link var something dynamic var url = "http://localhost/"+id; document.getElementById("mylink").href = url;
You don't have to wait for the document to have fully loaded, in most cases as long as the element has been loaded into the DOM you will be fine assuming that your Javascript is placed after the element (like above).
Not good practice, but it's misleading to say you "have" to wait for the whole page to be loaded. You don't.
На этапе программирования JavaScript могут возникнуть ситуации, когда разработчику необходимо в какой-то момент добавить переменные JavaScript в URL-адрес. В частности, при работе с сайтом, на котором накапливается несколько веб-страниц. В таком случае передача переменных JavaScript в URL-адресе эффективна для перенаправления и доступа ко всем веб-страницам по запросу.
В этой статье будет подробно описан подход к передаче переменных JavaScript в URL.
Как передать переменные JavaScript в URL?
Чтобы передать переменные в URL-адресе с помощью JavaScript, примените «searchParams” имущество в сочетании с “pushState()" и "подстрока()методы.
Как передать переменные JavaScript в URL-адресе, установив инициализированные строковые значения?
“окно.местоположение.href» извлекает URL-адрес текущей страницы. “searchParams” свойство дает “URLSearchParams" объект. “история.pushState()» добавляет запись в стек истории сеансов браузера. “расколоть()” разбивает связанную строку в массиве, а “подстрока()” извлекает символы между двумя указанными индексами. Эти подходы можно использовать для установки настраиваемых параметров URL-адреса путем передачи строковых значений, содержащихся в переменной, в URL-адрес.
searchParams.set ( имя, значение ) ;
В приведенном выше синтаксисе:
“имя” указывает имя параметра.
“ценить” означает значение параметра.
pushState ( значение, история ) ;
“ценить” указывает на объект, связанный с новой записью.
“история” является обязательным параметром по историческим причинам.
строка.подстрока ( начинать, последний )
“начинать” относится к положению, с которого следует инициировать извлечение.
“последний” указывает положение, в котором извлечение должно закончиться, исключая его.
string.split ( разделитель, предел )
Согласно приведенному коду:
“разделитель” относится к строке, которую нужно разделить.
“ограничение” указывает целое число, ограничивающее номер разделения.
Давайте рассмотрим приведенную ниже демонстрацию:
< сценарий > позволять а = 'мое имя' , б = «Линуксинт» ; позволять с = 'моя тема' , д = 'JavaScript' ; позволять мой URL = новый URL ( окно.местоположение.href ) ; myURL.searchParams.set ( а, б ) ; myURL.searchParams.set ( CD ) ; window.history.pushState ( < путь: myURL.href >, '' ) ; позволять пункт = местоположение.поиск.подстрока ( 1 ) .расколоть ( "&" ) ; console.log ( 'Переданное значение через значение: ' , пункт ) сценарий >
В приведенном выше блоке кода:
Во-первых, инициализируйте данные переменные, имеющие указанные строковые значения.
На следующем шаге создайте новый объект URL через «новыйключевое слово " и "URL-адрес», ссылаясь на указанный URL.
После этого свяжите «searchParams” недвижимость с “набор()», чтобы установить значения так, чтобы последнее значение в его параметрах было присвоено первому.
Теперь добавьте запись в стек истории сеансов браузера через «pushState()метод.
Кроме того, применяются комбинированные «подстрока()" и "расколоть()” для размещения указанного символа по определенному индексу, т. е. “1” в переданных значениях в URL.
Наконец, отобразите заданные значения, переданные в URL-адресе.
В приведенном выше выводе видно, что инициализированные строковые значения были установлены, разделены и переданы в URL-адресе и отображены на консоли.
Заключение
Чтобы передать переменные JavaScript в URL-адресе, примените «searchParamsимущество в сочетании с «pushState()" и "подстрока()методы. Эти подходы можно применять для выделения и разделения параметров URL-адреса путем передачи инициализированных строковых значений, содержащихся в переменной, в URL-адрес. В этом блоге изложен подход к передаче переменных JavaScript в URL.