我希望这打印"a",因为当我调用时foo(this),参数似乎是链接标记.
<script type="text/javascript">
function foo (e) {
alert (e .tagName);
}
</script>
<a href="javascript:foo(this)">click</a>
Run Code Online (Sandbox Code Playgroud)
相反,它打印"未定义".如果我alert(e)说"对象窗口".我如何foo知道推出了哪个元素?没有通过/查找ID.
epa*_*llo 33
您不应该将href用于JavaScript.糟糕的做法,而是使用onclick this并将神奇地指向链接.
<a href="#" onclick="foo(this)">click</a>
Run Code Online (Sandbox Code Playgroud)
您还需要取消链接的单击操作.返回false或使用preventDefault取消事件.
最好使用Unobtrusive JavaScript附加事件
你也可以直接这样做
<a href="#" onclick="alert(this.tagName);">click</a>?
Run Code Online (Sandbox Code Playgroud)