js中鼠标单击事件的一个小问题

学js时做个简单的单击事件,触发的一个问题!

局部代码:

<body>

      <h1>111</h1>

       <h1>222</h1>

       <h1>333</h1>

</body>

var h = document.getElementsByTagName("h1");


for(var i=0;i< h.length;i++){

//        这里我么可以获取到每一个h[i]的,为什么在点击后,会出现一个h[i] 是一个ubdefined ne

//        首先该事件是一个点击后才会触发的事件,但是该循环已经执行完了,也就是说在该代码执行完后,这里的 i = 3;你去点击的时候i为3怎么可能找到该对象呢,所以会出现 h[i] 是一个未定义

//        在这里我们应该使用 this 不管 i 等于什么,this指的是当前被点击的

h[i].onclick = function(){

alert(h[i].innerHTML);

   //alert(this.innerHTML);

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,382评论 1 10
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,385评论 2 17
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 10,814评论 0 7
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 5,617评论 0 6
  • 连个卖淘宝的都不理我,微信也被人忘了,我是不是太没有存在感了,感觉自己像个变态,明明不想在意但是内心难过的要死,但...
    从今天开始好好做人阅读 2,778评论 0 0