A标签href中this的问题

来源:互联网 发布:macbook软件卸载不了 编辑:程序博客网 时间:2024/05/19 16:32

转自: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就无处可指了,所以写this,它不知道到底是那个元素

0 0
原创粉丝点击