zoukankan      html  css  js  c++  java
  • js点击元素输出对应的index

    <ul>
      <li>Home</li>
      <li>Skill</li>
      <li>Interest</li>
    </ul>

    想要通过点击li输出对应的序列,jquery里面可以直接通过index()实现,而原生js实现则可以通过给li添加属性来实现。

    首先,要添加onclick事件,由于获取到的li是数组,则需要用for循环来实现:

    1  for(var i = 0;i<li.length;i++){
    2     li[i].onclick = function(){
    3         console.log(i);
    4     }
    5 } 

    然而,这样输出的始终都是3. 原因是函数是在调用的时候才回去获取i 的值,此时i 的值为3.而我们想要的效果是将i 与li “绑定”起来

    我们可以在for 循环内给li 添加一个属性,这个属性可以是任意值,这样,就实现了“绑定”的效果

    1 for(var i = 0;i<li.length;i++){
    2      li[i].index = i;      
    3      li[i].onclick = function(){
    4          console.log(this.index);
    5      }
    6  } 
  • 相关阅读:
    UPC 5130 Concerts
    poj 1079 Calendar Game
    2018 ACM-ICPC 中国大学生程序设计竞赛线上赛
    CF932E
    浅谈Tarjan算法
    拉格朗日差值
    扩展欧几里得算法(exgcd)
    欧拉定理
    莫比乌斯反演
    除法分块
  • 原文地址:https://www.cnblogs.com/liuhanz/p/4865064.html
Copyright © 2011-2022 走看看