如何通过 javascript 函数的 return 值生成 href link 的内容?
How to generate the content of an href link by the return value of a javascript function?
我有一个javascript函数:
function foo() { return "/a/b/SomeApi"; }
然后我的网页中有一个 href
link。我希望这个 link 指向我的 javascript 函数返回的值,这样当用户单击 link 时,就好像用户单击了 link url /a/b/SomeApi
.
我试过以下方法:
<a href="javascript:foo()">Click</a>
但这样做的结果是浏览器会打开一个新的 window 显示文字值 /a/b/SomeApi
而不是向服务器发送请求。
有什么建议吗?谢谢。
不返回字符串,而是用它设置当前页面的位置,像这样...
function foo() { document.location.href = "/a/b/SomeApi"; }
正如@haim770 所指出的那样 - 这些不是您正在寻找的机器人。
如果要专门设置 href
属性,则必须从 link 外部进行。首先你应该给你的 link 一个 id
属性,比如这个...
<a id="myAnchor">Click</a>
然后应将这段代码放在页面中 元素之后,或者作为 "document loaded" 代码段的一部分。
document.getElementById("myAnchor").href = "/a/b/SomeApi";
如果您使用的是 jQuery(它不在您的标签列表中),您可以这样做...
$(function(){
$("#myAnchor").attr("href", "/a/b/SomeApi")
});
我认为 HREF 本来就不是动态的;为此,只需使用 onclick
属性,例如:
<a href="#" onclick="window.location.assign(foo())">Click</a>
我有一个javascript函数:
function foo() { return "/a/b/SomeApi"; }
然后我的网页中有一个 href
link。我希望这个 link 指向我的 javascript 函数返回的值,这样当用户单击 link 时,就好像用户单击了 link url /a/b/SomeApi
.
我试过以下方法:
<a href="javascript:foo()">Click</a>
但这样做的结果是浏览器会打开一个新的 window 显示文字值 /a/b/SomeApi
而不是向服务器发送请求。
有什么建议吗?谢谢。
不返回字符串,而是用它设置当前页面的位置,像这样...
function foo() { document.location.href = "/a/b/SomeApi"; }
正如@haim770 所指出的那样 - 这些不是您正在寻找的机器人。
如果要专门设置 href
属性,则必须从 link 外部进行。首先你应该给你的 link 一个 id
属性,比如这个...
<a id="myAnchor">Click</a>
然后应将这段代码放在页面中 元素之后,或者作为 "document loaded" 代码段的一部分。
document.getElementById("myAnchor").href = "/a/b/SomeApi";
如果您使用的是 jQuery(它不在您的标签列表中),您可以这样做...
$(function(){
$("#myAnchor").attr("href", "/a/b/SomeApi")
});
我认为 HREF 本来就不是动态的;为此,只需使用 onclick
属性,例如:
<a href="#" onclick="window.location.assign(foo())">Click</a>