如果我在锚href
属性中有一些javascript:
<a href="javascript:alert('hello!')">
有没有办法可以获得对脚本执行时单击的DOM元素的引用?我的意思是,我知道我能做到
<a href="javascript:alert('hello from '+document.getElementById('thisAnchor'))" id="thisAnchor">
但我希望有更像
的东西<a href="javascript:alert('hello from '+target)">
答案 0 :(得分:3)
这样的东西?
示例: http://jsfiddle.net/TTzDb/
<a href="#" onclick="alert('hello from '+this.innerHTML)">me</a>
使用onclick
,this
将引用收到该事件的元素。
答案 1 :(得分:2)
是的,答案是this
,它引用了当前的DOM元素:
<a href="javascript:alert('Hello from ' + this.tagName);">Click me</a>
当然,因为鲍勃提到(见评论)不能作为例外。正确的形式是:
<a href="..." onclick="alert('Hello from ' + this.tagName);">Click me</a>
答案 2 :(得分:2)
将JavaScript移动到onclick =“yourJavaScriptHere”属性。然后,您可以使用'this'关键字来引用您的锚点。所以
<a href="#" onclick="alert('hello from '+this)">some text</a>
虽然,这不是很有意义。此外,最好将JavaScript与HTML分离,以构建更易于维护的网站。