zoukankan      html  css  js  c++  java
  • 关于常见的一个问题,涉及到闭包、作用域等问题,节点列表点击打印对应索引的问题

    一、块级作用域下,最简洁的写法

        var list = document.getElementById("list"),
            childs = list.getElementsByTagName("li");
        for(let i = 0; i<childs.length; i++){
            childs[i].onclick=function(){
                console.log(i)
            }
        }

    二、通过闭包,隔离各个i的作用域

        var list = document.getElementById("list"),
            childs = list.getElementsByTagName("li");
        for(var i = 0; i<childs.length; i++){
            (function(i){
                childs[i].onclick=function(){
                    console.log(i)
                }
            })(i)
        }

    三、通过给节点设置index属性,然后在获取该属性(设置中间属性搭桥)

        var list = document.getElementById("list"),
            childs = list.getElementsByTagName("li");
        for(var i = 0; i<childs.length; i++){
            childs[i].setAttribute("index",i);
            childs[i].onclick=function(){
                console.log(this.getAttribute("index"))
            }
        }    
  • 相关阅读:
    kubernetes部署1.15.0版本
    搭建时间服务器
    创建mysql容器
    制作带sshd功能的centos镜像
    容器操作
    镜像制作
    elk日志系统
    k8s基于canel的网络策略
    k8s的flannel网络插件配置
    k8s搭建WebUI--Dashborad管理界面
  • 原文地址:https://www.cnblogs.com/helloNico/p/11076825.html
Copyright © 2011-2022 走看看