function getUrl(that) {
return "www.whateveryouwant.com";
}
// Point the a.href attribute at your url.
var a = document.getElementsByTagName('a')[0];
a.href = getUrl();
ОБНОВЛЕНИЕ
Я предполагаю, что вы хотите использовать метод getUrl()
для установки атрибута href, поскольку, вероятно, указанный URL-адрес не является статическим (поэтому он может измениться)в любой момент вы можете указать на возвращаемую ссылку getUrl ().
В любом случае, вы можете назначить атрибут href, когда пользователь нажимает на ссылку, таким образом.
function changeHref(aElem) {
aElem.href = getUrl();
}
После полного кода:
<a href="#" onclick="changeHref(this);">click me!</a>
<script>
function getUrl(that) {
return "www.whateveryouwant.com";
}
function changeHref(aElem) {
aElem.href = getUrl();
}
</script>
Еще одна вещь.Вам следует избегать использования javascript: pseudo-protocol
.
Этот фрагмент объяснит вам, почему:
Псевдопротокол является нестандартным подходом к этой идее.Предполагается, что псевдопротокол javascript: используется для вызова JavaScript из ссылки.Вот как псевдопротокол javascript: будет использоваться для вызова функции popUp:
<a href="javascript:popUp('http://www.example.com/');">Example</a>
Это будет прекрасно работать в браузерах, которые понимают псевдопротокол javascript :.Однако старые браузеры будут пытаться перейти по ссылке и потерпят неудачу.Даже в браузерах, которые понимают псевдопротокол, ссылка становится бесполезной, если JavaScript отключен.Короче говоря, использование псевдопротокола javascript: обычно является очень плохим способом ссылки на JavaScript из вашей разметки.
Сценарии DOM: веб-дизайн с JavaScript и объектная модель документа: втораяEdition