在href中的内联JavaScript

17
你如何实现这样的操作:
<a href="some javascript statement that isn't a function call;" >myLink</a>

当链接被点击时,让href中的js代码执行。
4个回答

19

直接将JS代码放在里面:

<a href="#" onclick="a=1;b=2; return false;">fsljk</a>

虽然如此,您不应该进行内联脚本编写。您应该非侵入式地附加事件处理程序。

<a id="lol" href="/blah">fdsj</a>
<script>
document.getElementById('lol').onclick=function() {
/* code */
};
</script>

4
使用 jQuery 可以使代码更简洁:$('#lol').click(function(){ --执行操作-- }); - bpeterson76
7
这个问题没有被标记为jQuery。 - meder omuraliev
2
许多项目没有完全标记...这并不意味着未标记的元素不是一个选项... - bpeterson76
5
在这种情况下,你应该单独发布自己的答案,meder的代码完全没有问题——除了我认为onclick函数也应该返回false。如果OP没有问如何使用jQuery解决它,为什么纯JS的解决方案不能和jQuery的解决方案一样好呢? - Sk8erPeter

18
<a href="javascript:var hi = 3;" >myLink</a>

现在你可以在任何地方使用hi来获得3


0

我知道这个问题很老,但是我曾经面临过类似的挑战,那就是动态修改href属性,当单击锚标签时发送电子邮件。

我想出的解决方案是这样的:

$('#mailLink,#loginMailLink,#sbMailLink').click(function () {
    this.setAttribute('href', "mailto:" + sessionStorage.administrator_mail_address + "?subject=CACS GNS Portal - Comments or Request For Access&amp;body=Hi");
});
<a id="loginMailLink" href= "#" style="color:blue">CACS GNS Site Admin.</a>

我希望这能有所帮助。


0

您可以像这样编写内联代码:

<a href="javascript:[code]">

此方法也适用于其他标签。

另外

如果您想在单击某个标签时执行操作,可以使用 onClick 属性进行修复。

<a onClick="function()">


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接