A标签href中this的问题

转自:http://hi.baidu.com/oak1314
 

出问题的代码:
<a href="javascript:alert(this.nodeName);">怎么这个this返回的不对呀?</a>

修改后这样:
<a href="javascript:void(0);" onclick="alert(this.nodeName);">这下这个this对了?</a>

其实onclick 后面的语句被解释为function,所以this代表调用该函数的对象,可以用下面代码来验证
<a href="javascript:void(0);" onclick="alert(typeof this.onclick);">onclick是函数</a>

总结:既然onclick定义的是一个函数,并且是调用元素的一个方法,this就代表该元素。
如果是写在 href="javascript:" 里的代码,他的作用域是全局的,所以写this,它不知道到底是那个元素

posted @ 2009-01-19 22:41  农十四  阅读(3964)  评论(0编辑  收藏  举报