转自: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,它不知道到底是那个元素

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-09
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-21
相关资源
相似解决方案