给ul中的li添加事件的多种方法

这是一个常见,而且典型的前端面试题

   <ul>
<li>11111</li>
<li>22222</li>
<li>33333</li>
</ul>

错误方式:

      var len=lis.length;
for(var i=0;i<len;i++){
$(lis[i]).click(function (){
alert(i);
})
}

正确方式一(利用jq中的each)

      var lis=$("ul>li");
$.each(lis,function(index,element){
$(element).click(function (){
alert(index);
}) //这样就添加了天门的坐标
})

正确方式二(闭包)

     for(var i=0;i<len;i++){
(function (index){
$(lis[index]).click(function (){
alert(index); //这种方式也是可以滴呀
})
})(i)
}

正确方式三(动态的该对象添加属性)

     var len=lis.length;
for(var i=0;i<len;i++){
lis[i].indexValue=i;
$(lis[i]).click(function (){
alert(this.indexValue); //这样也是可以的
})
}

最新文章

  1. 如何生成JavaAPI doc
  2. 127 2016 int
  3. 查看JVM内存
  4. Codeforces 660 C. Hard Process (尺取)
  5. AJAX与servlet的信息交互
  6. wap开发之滑动事件(swipe、tap、swipeleft、swiperight)等
  7. Qt 之容器内的控件全屏
  8. Mysql.Data的连接驱动 .net 的源码竟然在git了
  9. Android批量图片加载经典系列——使用二级缓存、异步网络负载形象
  10. 【NOIP模拟】LCS及方案数(DP)
  11. [转]本文采用all-in-one(一体化的)安装OpenShift
  12. 多级nginx代理,获取客户端真实ip
  13. PHP-FPM安装报错解决
  14. Servlet(10)—请求转发和请求重定向
  15. Android项目开发第二天,关于GitHub
  16. RunTime之类与对象
  17. SpringBoot 三种方式配置 Druid(包括纯配置文件配置)
  18. idea插件JRebel 解决热编译,开启高级debug之路
  19. 设计模式 笔记 代理模式 Proxy
  20. disconf实践(二)基于XML的分布式配置文件管理,不会自动reload

热门文章

  1. JS实现上下左右四方向无间隙滚动
  2. Odoo 外协加工产品的实现
  3. Odoo 二次开发教程【一】 Odoo 的安装
  4. 【转】个人对JQuery Proxy()函数的理解
  5. 1. Programming in C is fun!
  6. HTTP 笔记与总结(6)referer 头与防盗链
  7. 提高Vector容器的删除效率
  8. 耦合 Coupling the object-oriented paradigm &amp;&amp; data coupling
  9. 灰度图像 Grayscale Binary_image
  10. Android获取手机制作商,系统版本等