出问题的代码:
<a href="javascript:alert(this.nodeName);">怎么这个this返回的不对呀?</a>
修改后这样:
<a href="javascript:void(0);" οnclick="alert(this.nodeName);">这下这个this对了?</a>
其实onclick 后面的语句被解释为function,所以this代表调用该函数的对象,可以用下面代码来验证
<a href="javascript:void(0);" οnclick="alert(typeof this.onclick);">onclick是函数</a>
总结:既然onclick定义的是一个函数,并且是调用元素的一个方法,this就代表该元素。
如果是写在 href="javascript:" 里的代码,他的作用域是全局的,所以写this,它不知道到底是那个元素