如何通过javascript函数的返回值生成href链接的内容?

时间:2015-01-08 09:59:35

标签: javascript html hyperlink webpage

我有一个javascript函数:

function foo() { return "/a/b/SomeApi"; }

然后我的网页上有href个链接。我希望此链接指向我的javascript函数返回的值,这样当用户点击该链接时,就好像用户点击了包含网址/a/b/SomeApi的链接一样。

我试过以下:

<a href="javascript:foo()">Click</a>

但结果是浏览器会打开一个显示文字值/a/b/SomeApi的新窗口,而不是向服务器发送请求。

有什么建议吗?感谢。

2 个答案:

答案 0 :(得分:1)

而不是返回字符串,用它设置当前页面的位置,如下所示......

function foo() { document.location.href = "/a/b/SomeApi"; }

<击>

正如@ haim770所指出的那样 - 这些不是你正在寻找的机器人。

如果要专门设置href属性,则必须从链接外部执行此操作。首先,您应该为链接指定id属性,例如此...

<a id="myAnchor">Click</a>

然后,这段代码应该放在之后页面中的元素,或者作为&#34;文档加载的一部分&#34;一段代码。

document.getElementById("myAnchor").href = "/a/b/SomeApi";

如果您使用的是jQuery(不在您的标签列表中),您可以执行以下操作...

$(function(){
  $("#myAnchor").attr("href", "/a/b/SomeApi")
});

答案 1 :(得分:0)

我认为HREF并不意味着充满活力;为此,只需使用onclick属性,例如:

<a href="#" onclick="window.location.assign(foo())">Click</a>