使用for循环添加点击事件时,获取i值的方法

2017-03-28  本文已影响358人  lvyweb

有两种方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    #test li:nth-child(odd){
        background-color: skyblue;
    }
    #test li:nth-child(even){
        background-color: yellowgreen;
        
    }

    </style>
</head>
<body>
<div>
    <ul id="test">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
    </ul>
</div>


<script type="text/javascript">
    // 方法一:存贮i值
var lis=document.getElementById('test').getElementsByTagName('li');
for(var i=0;i<lis.length;i++){

    lis[i].index=i;//存储index值
    lis[i].onclick=function(){
        alert(this.index);
    };
}


//方法二:使用立即执行函数
var lis=document.getElementById('test').getElementsByTagName('li');
for(var i=0;i<lis.length;i++){
    lis[i].index=i;
    lis[i].onclick=(function(a){
        return function() {
            alert(a);
        }
    })(i);
}
</script>
    
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读